请帮帮我。我有一个广播接收器:
public class BrcRec extends BroadcastReceiver{
public static WakeLock wakeLock;
@Override
public void onReceive(Context context, Intent intent) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");
wakeLock.acquire();
//Осуществляем блокировку
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
keyguardLock.disableKeyguard();
//Здесь можно делать обработку.
Bundle extras = intent.getExtras();
StringBuilder msgStr = new StringBuilder();
msgStr.append("Одноразовый будильник: ");
Format formatter = new SimpleDateFormat("hh:mm:ss a");
msgStr.append(formatter.format(new Date()));
// Creating activity must be there, i think
Toast.makeText(context, msgStr, Toast.LENGTH_LONG).show();
//Разблокируем поток.
wakeLock.release();
}然后在工作中,我的android无法唤醒:按钮闪烁一次,仅此而已。哪里出错了?
我想唤醒android并在result中调用一些活动。谢谢。
发布于 2013-04-18 14:52:19
在您想要显示的活动中,您是否可以添加以下标志:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);这将导致该活动唤醒设备。
发布于 2015-07-03 21:45:10
值得注意的是,即使不使用PowerManager和Wakelock,“joelreeve”编写的代码也可以正常工作。通过简单地在活动的onCreate上添加标志,无论何时启动,它都会从手机上完全删除键盘守卫和锁。
https://stackoverflow.com/questions/15862058
复制相似问题