从通知里启动应用的activity,返回时返回应用的主界面
2016-05-17 09:01
525 查看
其实这个开发主要是一种开发思路:我的思路大致是这样的。
1. 首先在启动这个具体的activity之前,判断当前应用是否在栈顶,如果在,就不启动主Activity了,如果不在则启动主Activity;
2. 启动通知具体指向的Activity
启动通知具体指向及启动主Activity的具体代码:
实际上,上述代码可能会启动两个Activity,原因是:如果当前应用不在栈顶,则先启动主Activity,然后在启动具体指向的Activity;如果在栈顶,则只启动具体的Activity
判断当前Activity是否在栈顶的具体代码如下:
1. 首先在启动这个具体的activity之前,判断当前应用是否在栈顶,如果在,就不启动主Activity了,如果不在则启动主Activity;
2. 启动通知具体指向的Activity
启动通知具体指向及启动主Activity的具体代码:
Intent i = new Intent(); startHomeActivity(context); MobclickAgent.onEvent(context, "TabMain_InsuranceDeduction"); i.setClass(context, GetInsuranceRequestActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); if (i.getComponent() != null || i.getAction() != null) context.startActivity(i);
实际上,上述代码可能会启动两个Activity,原因是:如果当前应用不在栈顶,则先启动主Activity,然后在启动具体指向的Activity;如果在栈顶,则只启动具体的Activity
判断当前Activity是否在栈顶的具体代码如下:
private void startHomeActivity(Context context){ if (!isAppOnForeground(context)){ Intent homeIntent = new Intent(context, HomeActivity.class); homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(homeIntent); } } public boolean isAppOnForeground(Context context) { ActivityManager activityManager= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1); if (tasksInfo.size() > 0) { // 应用程序位于堆栈的顶层 if (context.getPackageName().equals(tasksInfo.get(0).topActivity .getPackageName())) { return true; } } return false; }
相关文章推荐
- WLCardViewLayout: Card and swipe out layout of CollectView.(可以滑动删除的卡片视图布局)
- [转]浏览器退出之后php还会继续执行么?
- One function to run them all… Or just eval
- nginx tomcat集群
- justep工具使用(数据建模和组织建模一)
- 架构的本质
- Wall--POJ1113(极角排序+求凸包)
- 根据psy输出sql
- 块状链表
- (礼拜二log)java 构建层级关系的递归算法
- host切换神器 firfox hostadmin
- 解决Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- LeetCode 143. Reorder List
- OpenGL矩阵变换
- 摇一摇
- 计步器
- 图片转为NSDasta
- CoreLocation Authorization in iOS8+
- tomcat 下 发布项目路径
- java 类和对象2