所以我想当我收到推送通知并且用户点击它时,我想将一些数据发送到活动,以便它不会再次重新打开,我已经尝试发送广播,但是广播由于某种原因没有收到数据。
if(!MainActivity.mStarted) {
contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class).putExtra("push", "true"), PendingIntent.FLAG_UPDATE_CURRENT);
} else {
contentIntent = PendingIntent.getBroadcast(this, 0,
new Intent(this, MainActivity.class).putExtra("push", "true")
.setAction(ACTION_RECEIVED),PendingIntent.FLAG_NO_CREATE);
}
活动中:
@Override
protected void onResume() {
super.onResume();
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter(
GcmIntentService.ACTION_RECEIVED);
intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(myBroadcastReceiver, intentFilter);
final OrdersFragment fragment = (OrdersFragment) getFragmentManager().findFragmentByTag(ORDERS_TAG);
}
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("GOT", "SOMETHING");
}
}
也许我做错了什么,那我怎样才能让我的活动更新,而不是重新打开?
P.S。你能不能请一个减号问题来正常回复我如何改进我的代码或改进我的问题?
答案 0 :(得分:1)
请下次在stackoverflow中搜索一下,因为其他程序员可能会遇到同样的问题并且你有一个很好的答案。在您的情况下,您需要创建一个包系统来发送和接收数据,如this example。
告诉我,如果我帮助你并做好编程!