launcher启动应用崩溃的问题

qiangv 2016-12-20 09:31:12
A是一个launcher,B是一个会crash的APP。
A通过startIntent启动了B,B马上crash,进而导致A也被force stop了。

请问这个有什么处理方法吗?想达到的目标是B崩溃了A也不能崩溃。
...全文
510 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_45115803 2019-05-26
  • 打赏
  • 举报
回复
你好可以看看我的帖子嘛,很急诶
qiangv 2016-12-20
  • 打赏
  • 举报
回复
就是这种方式的。5.1才有这个问题。
新靖界 2016-12-20
  • 打赏
  • 举报
回复
试下下面的启动方法: Intent Intent = mContext.getPackageManager() .getLaunchIntentForPackage("包名"); startActivity(Intent);
qiangv 2016-12-20
  • 打赏
  • 举报
回复
private Intent getAppIntent(String  packageName) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        String mainAct = null;
        List<ResolveInfo> list = getContext().getPackageManager().queryIntentActivities(intent, 0);
        int count = list.size();
        for(int i = 0;i<count;i++){
            ResolveInfo rinfo = list.get(i);
            if (rinfo.activityInfo.packageName.equals(packageName)) {
                mainAct = rinfo.activityInfo.name;
                break;
            }
        }
        if (TextUtils.isEmpty(mainAct)) {
            return null;
        }
        intent.setComponent(new ComponentName(packageName, mainAct));

        long serialNumber = -1;
        //17
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            UserManager mUserManager = (UserManager)getContext().getSystemService(Context.USER_SERVICE);
            serialNumber = mUserManager.getSerialNumberForUser(android.os.Process.myUserHandle());
        }
        intent.putExtra("profile", serialNumber);
        return intent;
    }
这样子都不行。。。崩溃了。。。
我不是很帅 2016-12-20
  • 打赏
  • 举报
回复
Intent intent = new Intent(Intent.ACTION_MAIN);
			intent.addCategory(Intent.CATEGORY_LAUNCHER);
			intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
					| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
			ComponentName cn = new ComponentName(mContext.getPackageName,
					packageName);
			intent.setComponent(cn);
			mContext.startActivity(intent);
兄弟可以试试
Apex Launcher可帮助您在Android(4.0+)设备上创建自定义的主屏幕体验。适用于Android 4.0以上版本的功能强大,快速且高度可定制的家庭替代产品。 Apex Launcher Pro(付费版)功能: •强大的抽屉自定义功能(无限制的抽屉选项卡,抽屉中的文件夹) •未读计数通知(由免费的Apex通知程序扩展提供) •码头划动动作(向上和向下滑动动作) •更多手势选项(两个手指手势) •附加过渡效果(手风琴,十字形等) •灵活的主题选项(ADW,LauncherPro,Go Launcher主题) •增强的文件夹支持(批量添加,合并文件夹) •高级小部件选项(停靠中的小部件,重叠的小部件) •上的更多功能办法! Apex Launcher Pro: –语言:英语,俄语,意大利语和波兰语,中文 –替换了Pixel UI样式的图标,并替换了图标 启动器 –压缩图形 –制作了适用于Android 5.x – 6.x及更高版本的Material中的所有样式并改变了 Apex 通知程序: –替换了图标 –压缩图形 –从应用中删除了Android Wear –制定并更改了适用于android 5.x的Material中的所有样式– 6.x及更高版本 Mod信息: 专业功能已解锁-无需其他密钥; 禁用/删除不需要的权限+接收者和服务; Analytics(分析)/ Crashlytics(崩溃)已禁用。 安装说明! 1.卸载先前版本的Apex Launcher和Apex Notifier插件 2.从我的程序包(而不是Google Play)中安装Apex Launcher和Apex Notifier插件! 3.享受!
Nova Launcher Prime 高度可定制,性能驱动的主屏幕。不接受替代品!Nova Launcher是现代Android的顶级启动器,始终采用完整的Material Design。Nova Launcher将您的主屏幕替换为您可以控制并可以自定义的主屏幕。更改图标,布局,动画等。 Nova Launcher主要功能: 手势–在主屏幕上滑动,捏合,双击等操作可打开您喜欢的应用 未读计数–绝不会错过任何一条消息。使用TeslaUnread插件的环聊,短信,Gmail和更多内容的未读计数徽章 自定义抽屉组–在应用抽屉中创建新标签或文件夹 隐藏应用程序-通过隐藏未使用过的应用程序来保持干净的应用程序抽屉 图标滑动–设置自定义操作以滑动应用程序快捷方式或文件夹 更多滚动效果–例如“擦除”,“手风琴”和“掷” Mod Lite信息: 优化的图形和清理的资源<改进的结果(5.73 MB apk大小); 语言:EN,RU; 删除了默认壁纸; 残疾人率和社交菜单; 禁用/删除不需要的权限+接收者和服务; Analytics(分析)/ Crashlytics(崩溃)已禁用。 模组像素资讯: Nova Launcher和Razer: –完整的俄语翻译 –语言:英语和俄语 –替换了Pixel UI样式的图标和替换了启动器的图标 –压缩图形 –禁用了跟踪 –削减了Firebase和Meansurement服务 –从Google Play服务取消链接 –删除了设置图标和启动器新星 PRIME功能已解锁| 禁用分析 说明: 1.卸载旧版本的Nova Launcher和Tesla Unread插件 2. 从我的程序包(而不是Google Play)中安装Nova Launcher和Tesla Unread插件。 3.享受! 这是补丁版本,完全解锁的主要功能。不需要主键。 如果您的ROM是与Nova Launcher一起提供的,则必须在安装前将其删除。

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧