あなたのBroadcastReceiver
がアプリが死んでもインテントを受け取らなければならない場合は、AndroidManifest.xml
で目的のインテントに登録する必要があります。
このように、BroadcastReceiver
はあなたのアプリのライフサイクルから独立しています。
この方法で、あなたのBroadcastReceiver
とすぐに目的の意図は、いくつかのアプリ
のAndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest>
...
<application>
....
<receiver android:name=".MyCustomBroadcastReceiver">
<intent-filter>
<action android:name="com.example.mytestapp.MY_CUSTOM_INTENT" />
</intent-filter>
</receiver>
</application>
</manifest>
MyCustomBroadcastReceiver.java
で放送されたようアンドロイドによって自動的に通知されます
public class MyCustomBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent != null) {
String action = intent.getAction();
if(action != null) {
if(action.equals("com.example.mytestapp.MY_CUSTOM_INTENT")) {
// DO YOUR STUFF
}
}
}
}
}
あなたのアラームマネージャを作成する際に以下のコードを使用し、その後
テントアラームの作成:
Intent intentForAlarmManager = new Intent("com.example.mytestapp.MY_CUSTOM_INTENT");
PendingIntent.getBroadcast(/* CONTEXT */, /* ID */ , intentForAlarmManager, /* FLAGS */));
どのように受信機を登録していますか? –
マニフェストにあります。受信者、データダウンロード、インテントサービス、または通知ロジックのいずれであっても、正直なところが分からない部分はわかりません。それは時には動作しますが、他の時ではありません。DBに書き込むロガーを作成し、実際にどのロジックが起動されるかを確認する必要があります。 – allanx2000