ロック画面置換アプリケーションを作成したい。ユーザーが目を覚ます/画面のロックを解除するたびにアプリを起動するリスナー/サービスを作成する方法はありますか?
2 に答える
あなたはACTION_USER_PRESENT
意図的な行動を探していると思います。
public static final String ACTION_USER_PRESENT
開始日:APIレベル3ブロードキャストアクション:デバイスがウェイクアップした後(キーガードがなくなったときなど)にユーザーがいるときに送信されます。
とはいえ、Androidは現時点ではロック画面の交換をサポートしていません。これを行うと主張する市場のアプリは、セキュリティの抜け穴を利用しており、安全ではありません。詳細については、このスレッドを読むことができます。(特に、Mark Murphyの投稿を読む必要があります)。ごめん。
mylockforandroidのソースコードを参照 してください。デフォルトのAndroidスクリーンロックを無効にするには、 DeviceAdminReceiverを使用する必要があります。
ユーザーが画面のロックを解除したときにアクティビティを開始するには、次のように登録し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);
}
}
}