私のアプリでfirebaseプッシュ通知を使用しています。フォアグラウンドのアプリの場合、メッセージを受け取ったときに別のアクティビティにインテントをブロードキャストしています。しかし、私は指揮された活動で書かれたBroadcastReceiverの意図を得ていません。アプリがフォアグラウンドでBroadcastReceiverに入っていない間にFCMからデータをブロードキャストします
送る意図は、私が意図を取得したい活動の
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (isAppIsInBackground(this)){
int dbcount = Integer.parseInt(dbHelper.getPushCount());
int i = count;
int current = dbcount +4;
dbHelper.updatePushCount(Integer.toString(current));
} else {
Intent intent = new Intent(this, NavigationHome.class);
intent.setAction("new.pushMessage");
intent.putExtra("count", count.toString());
sendBroadcast(intent);
}
}
と受信機のようなものであることは
public class NavigationHome extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener {
int count=0;
Context context;
private BroadcastReceiver LandingBr = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("received",""+1);
NavigationHome.this.update();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation_home);
dbhelper = new DBHelper(this);
です.............. .....
update()関数が呼び出されていない場合、アクティビティでインテントを取得するにはどうすればよいですか?
マニフェストファイルに受信者を登録しましたか? –
あなたはActivityにBroadcastReceiverを登録する必要があります。 –
なぜそのようにする必要がありますか?私はアクティビティ自体の中でそれを定義しました。それを明確にしてください。 – Visakh