5

ロック画面置換アプリケーションを作成したい。ユーザーが目を覚ます/画面のロックを解除するたびにアプリを起動するリスナー/サービスを作成する方法はありますか?

4

2 に答える 2

8

あなたはACTION_USER_PRESENT意図的な行動を探していると思います。

public static final String ACTION_USER_PRESENT

開始日:APIレベル3ブロードキャストアクション:デバイスがウェイクアップした後(キーガードがなくなったときなど)にユーザーがいるときに送信されます。

とはいえ、Androidは現時点ではロック画面の交換をサポートしていません。これを行うと主張する市場のアプリは、セキュリティの抜け穴を利用しており、安全ではありません。詳細については、このスレッドを読むことができます。(特に、Mark Murphyの投稿を読む必要があります)。ごめん。

于 2012-06-23T20:10:27.253 に答える
8

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);          
         }
    }
}
于 2012-06-23T20:15:55.860 に答える