【Android学习笔记】百度云推送设置或取消tag之后自动finish所有activity并跳回MainActivity问题解决

        最近在做百度云推送,发现一旦执行了setTags()操作之后,即设置或取消tag之后自动finish所有activity并跳回MainActivity,这肯定很影响用户体验啦,找了很久,也不知道为什么会这样,也重写了OnDestroy()方法,发现每次也是执行了代码。

        然后,百度,Google都没有答案,去问别人,都不知道,没办法了,只能自己慢慢调试。

        首先,我去看了百度推送的Demo,然后自己加上了一个Activity,把它设置为主Activity(另取名),然后运行,发现百度的Demo并没有跳回我新设置的主Activity。根据这个现象,再去看日志,才定位到了是MyPushMessageReceiver这里有问题。


输出日志如下:

MyPushMessageReceiver﹕ onDelTags errorCode=0 sucessTags=[] failTags=[job_广州地铁5号线] requestId=2736314253

MyPushMessageReceiver﹕ updateContent   //执行到了这里之后就finish了

MainActivity:OnStart    //从这里可以看出,每次都是Start了MainActivity


MyPushMessageReceiver.java  里面有updateContent()这个方法,果然,是在这里跳转了,注释掉这段,问题就解决了。

private void updateContent(Context context, String content) {
        Log.d(TAG, "updateContent");
        String logText = "" + Utils.logStringCache;

        if (!logText.equals("")) {
            logText += "\n";
        }

        SimpleDateFormat sDateFormat = new SimpleDateFormat("HH-mm-ss");
        logText += sDateFormat.format(new Date()) + ": ";
        logText += content;

        Utils.logStringCache = logText;

//        Intent intent = new Intent();         //注释掉下面这些
//        intent.setClass(context.getApplicationContext(), MainActivity.class);
//        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//        context.getApplicationContext().startActivity(intent);
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值