【信鸽推送】点击推送通知后,默认会从程序Launcher进入,返回时会回到主界面的问题...

代码如下:

1、在Launcher界面(非主界面MainActivity),比如WelcomeActivity,

onCreate方法里判断如下代码:

// 判断是否从推送通知栏打开的
        XGPushClickedResult click = XGPushManager.onActivityStarted(this);
        if (click != null) {
            finish();
            return;
        }

即便默认点击通知会从主程序入口进入,只要你是从信鸽推送过来的,直接咔嚓掉。。。也就不会有返回的时候主程序回到栈顶的状态。。。。

2、这种状况下,我们在WelcomeActivity的onDestroy方法里判断,

如果当前堆栈里有MainActivity则表示在启动状态,

如果没有,则表示是从后台进入(程序被强行已退出状态),此时如果Destroy的话,未免有点不友好,所以我们可以再手动启动App的主界面MainActivity.

代码如下:



// 判断是否从推送通知栏打开的
        XGPushClickedResult click = XGPushManager.onActivityStarted(this);
        if (click != null) {
           if(AppManager.getInstance().getActivity(MainActivity.class) == null){
           
                UIHelper.startActivity(this, MainActivity.class);
            }
            finish();
            return;
        }

置于AppManager是什么神物,你可以参考这里(你肯定知道这是oschina的源码吧,哈哈~~~~)

http://git.oschina.net/oschina/android-app/blob/master/app/src/main/java/net/oschina/app/AppManager.java?dir=0&filepath=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Foschina%2Fapp%2FAppManager.java&oid=fde4ac328af0ca1c69b8ccf12811e0e4c8a1ddba&sha=e65e30d2b00feff8e1e37e50d30c033c0b8483bb

【当然这种情况只适合后台给你发的是通知,如果是自定义消息(不懂的可以找个推送的后台尝试了看看),我想一切都好办了,想怎么跳,自己说了算。。。】

转载于:https://my.oschina.net/gabriel1215/blog/680699

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值