yuv*_*a ツ 12 android broadcastreceiver android-activity screen-lock
即使屏幕被锁定,如何在设备上启动活动.我尝试如下,但它不起作用.
广播接收器:
Intent alarmIntent = new Intent("android.intent.action.MAIN");
alarmIntent.setClass(context, Alarm.class);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED +
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD +
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON +
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
context.startActivity(alarmIntent);
Run Code Online (Sandbox Code Playgroud)
Jun*_*aid 18
您可以通过两种方式实现此目的:
在这篇文章中使用@Yup解释的唤醒锁.
使用窗口标志.
使用窗口标志:
打开要在启动活性的onReceive(...).将其粘贴onCreate()到该活动A中
final Window win= getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
确保你之前没有粘贴它setContentView(...):-)
Yup*_*Yup 15
您需要以下AndroidManifest.xml文件中的以下权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
Run Code Online (Sandbox Code Playgroud)
小智 5
Paste this in your onCreate method of the activity you want to open when the screen is locked, after setContentView()
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16425 次 |
| 最近记录: |