use*_*276 5 android broadcastreceiver wakeup wakelock
请帮我.我有一个广播接收器:
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();
}
Run Code Online (Sandbox Code Playgroud)
然后它正在工作,我的机器人不会醒来:按钮闪烁一次,这就是全部.哪里出错?
我想唤醒android并在结果中调用一些活动..谢谢.
joe*_*ves 15
在您要显示的活动中,您可以添加以下标志:
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);
Run Code Online (Sandbox Code Playgroud)
这将导致Activity唤醒设备.
| 归档时间: |
|
| 查看次数: |
5470 次 |
| 最近记录: |