2016-12-18 38 views
2

X時間後(たとえば15分後)に電話機のロックが解除されたり、電源がオンになったときにアプリを起動させる方法を見つけようとしています。私はアイデアを書き留め、重大な誤りがない方法を見つけようとしています。電話のロック解除/起動時にアクティビティを起動する

私は

public void onReceive(Context context, Intent intent){ 
KeyguardManager keyguardManager = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE); 
if (!keyguardManager.isKeyguardSecure()){ 
    Intent startup = new Intent(MainActivity.this, NextActivity.class);} 

を使用してIFコマンドを試みたが、閉じたときにNextActivityはすぐに再オープンします。私は約2日間この部分に立ち往生していたので、まだタイマーの追加を試していないが、それに入るアドバイスは高く評価されるだろう。

また、このコマンドの前にIfコマンドを追加して、デバイスにセキュリティロックが設定されているかどうかを確認し、そうでない場合は、コードが画面がオンかどうかを確認しますが、それはまだ遠くない。

申し訳ありませんが、私が助けが必要なものが明確でない場合は、このウェブサイトを閲覧しただけです。

答えて

0

システム起動イベントを聞いて、15分カウントするタイマーを起動できます。

BOOTUPについての答えが受け取る:BOOTUP

0

あなたがBOOT_COMPLETED放送を受信するためにBroadCastReceiverを使用することができます。そして、X時間(15分)のためにカウントするタイマーを開始してください 詳細については、このリンクをチェックしてください。 Boot Completed

あなたが

<receiver 
     android:name="BootReceiver" 
     android:enabled="true" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </receiver> 

そしてBroadcastReceiverクラスは

public class BootReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
      // start a timer to count for 15mins 
      // .... 
      // start your luncher activity 
    } 
} 
0

を追跡するようになりますようにあなたのレシーバーがあるべき

< uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" > 

のようにマニフェストファイルにアクセス権を与える必要がありあなたのMainActivityがバックグラウンドに行った最後の時間。 MainActivityがフォアグラウンドに戻ったら、時差を確認してください。 15分以上経過している場合は、NextActivityを表示します。

たとえば、あなたのMainActivityで

@Override 
protected void onPause() { 
    lastTick = System.currentTimeMillis(); 
} 

@Override 
protected void onResume() { 
    if((System.currentTimeMillis() - lastTick) > 900000){//15 minutes 
     Intent intent = new Intent(MainActivity.this, NextActivity.class); 
     startActivityForResult(intent, 0); 
    } 
} 
関連する問題