だから私はBroadcastReceiver
このように見えるものを持っています:
public class UpdateReceiver extends BroadcastReceiver {
public UpdateReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
System.out.println("Broadcast received");
PendingIntent operation = PendingIntent.getService(context, 0,new Intent("REFRESH_THAT"), PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, System.currentTimeMillis(), cal.getTimeInMillis(), operation);
}
}
これは私が呼ぶ方法ですBroadcastReceiver
Intent in = new Intent ("REFRESH_BROADCAST");
sendBroadcast(in);
そしてこれはAndroidManifest
ファイルの私のインテントフィルターです
<service android:name = ".services.RefreshService">
<intent-filter>
<action android:name="REFRESH_THAT"/>
</intent-filter>
</service>
<receiver android:name=".services.UpdateReceiver">
<intent-filter>
<action android:name="REFRESH_BROADCAST"/>
</intent-filter>
</receiver>
BroadcastReceiver
問題なくブロドキャストを受信しましたが、AlarmManager
何もしないようです。私がそれを問題なく動作すると呼ぶならばoperation.send()
、私は何かが間違っていると思いAlarmManager
ます。