我想构建一个锁屏替换应用程序。有没有办法创建一个监听器/服务,只要用户唤醒/解锁屏幕,它就会启动我的应用程序?
问问题
9784 次
2 回答
8
我相信您正在寻找ACTION_USER_PRESENT
意图操作。
公共静态最终字符串 ACTION_USER_PRESENT
自:API 级别 3 广播操作:在设备唤醒后用户在场时发送(例如,当键盘保护消失时)。
也就是说,Android 目前不支持更换锁屏。市场上声称这样做的任何应用程序都利用了安全漏洞并且不安全。您可以阅读此线程以获取更多信息。(特别是,您应该阅读 Mark Murphy 的帖子)。对不起。
于 2012-06-23T20:10:27.253 回答
8
查看mylockforandroid的源代码, 您将需要使用DeviceAdminReceiver来禁用默认的 android 屏幕锁定。
用于在用户解锁屏幕注册时启动您的活动,Intent.ACTION_SCREEN_ON
并且注册Intent.ACTION_SCREEN_OFF
为:
在 manifast.xml 中添加此代码,将 ScreenReceiver 注册为:
<receiver android:name=".ScreenReceiver">
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF"/>
<action android:name="android.intent.action.SCREEN_ON"/>
</intent-filter>
</receiver>
并将 ScreenReceiver.java 添加为:
public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON))
{
Intent intent = new Intent();
intent.setClass(context, ScreenLockActivity.class);
startActivity(intent);
}
}
}
于 2012-06-23T20:15:55.860 回答