android-在一个程序中启动其他程序老被强退?

问题描述

在一个程序中启动其他程序老被强退?
我已经获取了手机中的程序列表,并添加了setOnItemLongClickListener()方法
代码部分如下
lv.setOnItemLongClickListener(new OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView<?> parent View v
int position long id){
String activityName = null;
final Map dataSet=items.get(position);
String packageName=dataSet.get(""packageName"").toString();//得到要启动的程序的包名
System.out.println(packageName);//
Toast.makeText(getBaseContext()packageNameToast.LENGTH_LONG).show();
PackageManager pm=getPackageManager();
Intent resolveIntent=new Intent(Intent.ACTION_MAIN);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List resolve=pm.queryIntentActivities(resolveIntentPackageManager.MATCH_DEFAULT_ONLY);
System.out.println(resolve.size());
Collections.sort(resolvenew ResolveInfo.DisplayNameComparator(pm));//将获取到的ResolveInfo进行排序
for(ResolveInfo reInfo:resolve){
System.out.println(""包名+++++++++++""+reInfo.activityInfo.packageName);
if(reInfo.activityInfo.packageName.equals(packageName.toString())){
activityName=reInfo.activityInfo.name;//获取应用程序启动activity的名字
System.out.println(""1111111111111111111111111"");
}
}
System.out.print(""是否执行到了这一步"");
Intent launchIntent=new Intent();
launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//为将要运行的程序开启一个新的任务栈
launchIntent.setComponent(new ComponentName(packageNameactivityName));

boolean result=find(packageName);
if(result){
Intent intent1=new Intent(main.thisunlock.class);
intent1.putExtra(""packageName""packageName);
startActivity(intent1);
finish();
}else{
startActivity(launchIntent);
}
但每次都被强退 根据logcat发现每次执行完for循环后,就被强退
logcat中的内容如下

解决方案

提示你activitiy没找到,你的activity必须在maifest文件中声明才行,加上就好了

解决方案二:
我加了啊 就是那个main

解决方案三:
我加了activity啊 activity名字是main

解决方案四:
关闭其他软件试试,如果不行就下载360修复看看还是不行就买张系统碟重新装系统

解决方案五:
你相应的权限添加了吗?如果权限没有添加完全也会出现闪退的。

如果回答对你有帮助请采纳

时间: 2024-12-22 14:07:56

android-在一个程序中启动其他程序老被强退?的相关文章

Android编程实现在一个程序中启动另一个程序的方法

本文实例讲述了Android编程实现在一个程序中启动另一个程序的方法.分享给大家供大家参考,具体如下: Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEG

广告-在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序

问题描述 在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序 大家好,我现在遇到这样的情况,我目前做的是一个android积分墙的项目,用户通过我的这个项目app做任务下载一个广告,当用户进入到我们的下载广告的apk 后,玩了一段时间后(玩了一段时间才会给积分),点击后退,当前的 广告apk 是退出了,同时我们的项目也退出了(原本我们的项目逻辑是不会退出的),回到了桌面......我们自己测试的时候并没有出现这样的情况,但是用户遇到了,并且用户反馈再次重启手机的时候,再

微信启动-在程序中启动微信一直出现这个错误

问题描述 在程序中启动微信一直出现这个错误 在程序中启动微信一直出现这个错误Unable to find explicit activity class { com.tencent.mm /com.tencent.mm.ui.LauncherUI}; have you declared this activity in your AndroidManifest.xml? 代码: Intent intent = new Intent(); ComponentName cmp = new Compo

对话框的顺序-FC对话框应用程序中如何修改程序启动时默认的对话

问题描述 FC对话框应用程序中如何修改程序启动时默认的对话 我在程序中新建了多个对话框,如dialog1,dialog2,不想让默认的那个对话框作为启动时显示的,而想让dialog2作为第一个显示的对话框,有办法吗? 解决方案 App类的InitInstance函数中修改一下,添加DoModal()你的对话框,删除m_pMainWnd = &XXXXDlg;语句(如果有的话) 解决方案二: 求指导!

在matlab中怎么调用java程序,求指教,不需要传入参数,只需要在matlab中启动java程序

问题描述 在matlab中怎么调用java程序,求指教,不需要传入参数,只需要在matlab中启动java程序 不需要传入参数,只需要在matlab中启动java程序,java读取个文件在处理文件后保存就行 解决方案 很简单的,matlab的界面都是java写的,网上教程也很多.

从 HTA 中启动应用程序_hta

如何从 HTA 中启动应用程序? 问: 您好,脚本专家!对于 HTA,有没有什么可以替代 Wscript.Shell 命令?我需要运行某个应用程序并指定要打开的文件. -- DL 答: 您好,DL.是的,我们确实知道这样的命令,可以在 HTA 中使用并可以替代 Wscript.Shell 命令,我们一会儿就会向您介绍.不过,在介绍它之前,我们应注意到您实际上可以在 HTA 中使用 Wscript.Shell 对象.这是一个常会引发混淆之处:因为您在 HTA 中无法使用某些命令(如 Wscript

从android一个apk中启动第三方apk应用

从android一个apk中启动第三方apk应用            我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢?         问题的核心点在于我们要拿到第三方apk的package名称跟class名称,这两个至关重要!比如笔者做测试用的qq apk,package名称是com.tencent.pad.qq,class名称是com.tencent.pad.qq.login.QQLoginActivity.从一

设置-如何在.Cpp程序中调用.c程序中的函数?

问题描述 如何在.Cpp程序中调用.c程序中的函数? 我在软件中需要把mp3文件转换成wav文件.为此从网上下载了一个转换程序.但把这些转换程序的文件加入到我的用VC6.0编写的MFC工程中后却发现编译通不过.为此,我把Project Settings中这些文件对应的Precompiled Headers都设置成Not using precompiled headers.这样,编译能通过了.但连接却通不过.我的具体程序和现象如下: 我在我的一个.cpp文件中需要调用如下函数: BOOL mp3T

源码-android在service中启动Activity问题

问题描述 android在service中启动Activity问题 问什么我在service中启动activity,新的activity闪了一下就被原来的覆盖了?附源码: 这段代码在service中,想弹出"激活设备管理器"页面的功能 Intent in = new Intent(); in.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)