java - 推送通知 getBroadcast

标签 java android push-notification

所以我希望当收到推送通知并且用户单击它时,我想向 Activity 发送一些数据,这样它就不会再次重新打开,我尝试发送广播,但广播没有接收数据因为某些原因。

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);
    }

在 Activity 中:

    @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");
    }
}

也许我做错了什么,那么我如何执行我的 Activity 来更新,而不是重新打开自己?

附注您能否正常回复我如何改进我的代码或改进我的问题,而不是在问题上加减号?

最佳答案

请下次在 stackoverflow 中搜索一下,因为其他程序员可能也有同样的问题,而您有一个很好的答案。在您的情况下,您需要创建一个 bundle 系统来发送和接收数据,如 this example 中所示。 .

告诉我我是否对你有帮助以及良好的编程!

关于java - 推送通知 getBroadcast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31072994/

相关文章:

push-notification - Azure 通知中心 - 我应该将设备 token 保存在我的服务器中吗?

ios - 杀死应用程序后如何在后台执行某些任务

java - 不能同时使用 TOMCAT 服务器和我的互联网连接

c# - Android 上的文件下载失败

android.support.v7.internal.app.WindowsDecorActionBar 渲染问题

android - 数据库对象未关闭异常

ios - 通过移动优先平台发送 Apple 推送通知时出现无效的十六进制字符错误

java - JOOQ : pojos in different directory

java - 将文本文件中的数据解析为Java中的多个数组

java - 从 Spring 异常处理程序返回 JSON 响应