美文网首页Android问题汇总(遥远的回忆过去)
通知栏推送点击跳转以及返回主界面(或指定页面)

通知栏推送点击跳转以及返回主界面(或指定页面)

作者: MonkeyLei | 来源:发表于2019-08-02 09:43 被阅读2次

    需求:点击推送下消息,首先进入详情页面,然后从详情页面退出时- 1. 判断界面栈是否存在主页面,如果存在(也就是启动状态的app),就直接退出当前页面;2. 如果不存在(没有启动过),则退出详情时返回主页面。

    其实重点就是利用Activity管理器获取运行任务栈信息,然后进行判断:

    SystemUtils.java

            boolean isAppRunning = false;
            ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1000);
            for (ActivityManager.RunningTaskInfo info : list) {
                ///< 如果直接进入推送详情或者广告详情,那么此时判断进程是存在的;但是主页页面并没有启动,所以不能用这种方式判断主页面是否或者!
                //            if (info.topActivity.getPackageName().equals(processName) &&
                //                info.baseActivity.getPackageName().equals(processName)) {
                //                isAppRunning = true;
                //                // find it, break
                //                break;
                //            }
    
                ///< 判断HomeActivity是否活着
                if (HomeActivity.class.getName().equals(info.baseActivity.getClassName())) {
                    isAppRunning = true;
                    // find it, break
                    break;
                }
            }
            return isAppRunning;
    

    然后你在详情页面返回增加判断处理跳转:

        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK &&
                event.getAction() == KeyEvent.ACTION_DOWN) {
                ///< 判断主页面是否活着
                if (!SystemUtils.isAppAlive(InfoNewsDetailActivity.this, "xxx.xxx.xxx")) {
                    Intent intent = new Intent(InfoNewsDetailActivity.this, HomeActivity.class);
                    startActivity(intent);
                }
                finish();
            }
            return super.onKeyDown(keyCode, event);
        }
    

    其他问题遇到了再看看怎么解决....

    相关文章

      网友评论

        本文标题:通知栏推送点击跳转以及返回主界面(或指定页面)

        本文链接:https://www.haomeiwen.com/subject/zjekdctx.html