2016-04-17 10 views
-3

この質問はここで何度も繰り返されますが、ソリューションの中では機能していませんが、下のコードではアクティビティを起動してから10秒後にはじめて起動するはずですすぐに立ち上げてください。そして私はFLAG_UPDATE_CURRENTを使用しているので、特定の時/分/秒に設定していないので、直ちに起動する過去の時間はありません。私はあなたが欠けているものに私の注意を持って来てください。私のAlarmManagerは直ちにアラームを鳴らします

私は4.0+

  • アンドロイド5.0ターゲットAPIでテストしていcompileSdkVersion 23
  • がminSdkVersionが16
  • targetSdkVersion 23

    Intent myIntent = new Intent(this, check.class); 
    PendingIntent pi = PendingIntent.getBroadcast(this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    

    am.setRepeating(AlarmManager.RTC、10000 、(AlarmManager.INTERVAL_DAY/8)、pi);

そして、これはクロックは常にあなたの警報火災はすぐに過去のことになるだろう、そうされるリアルタイムのAndroidManifest.xmlを

<receiver 
     android:name=".Check" 
     android:exported="false" /> 
+0

真剣に-1を追加した人は、なぜですか?あなたは答えを知っていますか?それを共有して、私はここで答えを探して、彼らは働いていないと説明しました。 –

答えて

7

10000の私check.classです。 setRepeating()コールの第2引数としてSystem.currentTimeMillis() + 10000が必要です。

setRepeating()は、KitKatのように不正確であることを指摘します。そのため、実際にアラームが鳴る時間はオフになっている可能性があります。問題が発生した場合は、代わりにsetExact()メソッドを使用し、発生するたびに希望の間隔でアラームを再設定してください。

+2

Mikeに説明していただきありがとうございます。とりわけ2番目の部分/編集は、System.currentTimeMillis()が10000に最初にトリガするように追加されたと思った理由です。再びありがとうございます。はい、それは正確ではありませんが、チェックの目的のために行います。 –

関連する問題