私はこの解決策をどこでも探しましたが、ほとんどの返信はブートレシーバーでアラームを設定するよう求めています。
ブート レシーバーを実装し、サービスを開始し、set メソッドを使用してアラームを設定しました。
サービスは正常に開始されていますが、アラームは設定されていません。
私がそれにこだわっているのを助けてください。
必要に応じて投稿することもできますが、その中でサービスを開始しているため、ブートレシーバーは正常に動作しています
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences sharedPref = context.getSharedPreferences(
Util.SHARED_PREF_NAME, Context.MODE_PRIVATE);
long curTime = System.currentTimeMillis();
long endTime = sharedPref.getLong(Util.END_TIME, -1);
long startTime = sharedPref.getLong(Util.START_TIME, -1);
if (curTime < endTime && startTime >= curTime) {
Intent intent1 = new Intent(context, HUD.class);
PendingIntent pintent = PendingIntent.getService(context, 1987,
intent1, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarm = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, endTime, 100, pintent);
Log.e("alaram set", endTime + " " + curTime);
}
Intent service = new Intent(context, HUD.class);
context.startService(service);
}
}
MyReceiver.java
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
マニフェスト.xml
起動後にサービスが正常に開始されました
しかしalarm.setRepeating(AlarmManager.RTC_WAKEUP, endTime, 100, pintent);
アラームが機能していません。
私は私の質問をクリアしたと思います。
助けてください