业无高卑志当坚,男儿有求安得闲?这篇文章主要讲述即使屏幕在Android中被锁定,也会启动活动屏幕相关的知识,希望能为你提供帮助。
即使屏幕被锁定,如何在设备上启动活动。我尝试如下,但它不起作用。
广播接收器:
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);
答案您需要
AndroidManifest.xml
文件中的以下权限:<
uses-permission android:name="android.permission.WAKE_LOCK" />
<
uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
检查清单详细信息here。你可以查询这个link。
另一答案您可以通过两种方式实现此目的:
- 在这篇文章中使用@Yup解释的唤醒锁。
- 使用窗口标志。
打开要在
onReceive(...)
中启动的活动A.将其粘贴到活动A的onCreate()
中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);
确保你没有在
setContentView(...)
之前粘贴它:-)另一答案在屏幕被锁定后,在setContentView()之后将其粘贴到要打开的活动的onCreate方法中
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);
另一答案您可以检查here屏幕是锁定还是解锁。
【即使屏幕在Android中被锁定,也会启动活动屏幕】然后,您可以使用唤醒锁定和电源管理选项来维护屏幕而不会被锁定。你可以找到帮助here
另一答案
- 清单文件给权限使用权限android:name =“android.permission.WAKE_LOCK”然后在你的需求活动onCreate()里面写代码
- 最终Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
推荐阅读
- 不运行时接收消息,Xamarin Android上的显式广播和隐式广播
- CONNECTIVITY_CHANGE在Android N的目标中已弃用
- Android - 启动时启动服务
- Android O中不会调用具有签名权限的Android隐式BroadcastReceiver
- android BroadcastReceiver有时会在onReceive上抛出NullPointerException
- Swift - 从AppDelegate向View Controller添加子视图
- 使用flask-jwt-extended回调与flask-restful和create_app
- 将Angular App发布为facebook Instant Article
- Apple ITunes AppStore客户评论rss端点无法正常工作