我想从我的应用程序启动另一个应用程序,但是当我执行下面的代码时,我收到“未找到活动”异常的消息
final Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN); //might not be necessary
i.setClassName("com.cardmagic.in", "com.cardmagic.in.CardMAinActivity");
startActivity(i);
所以请任何人都可以给我这个问题的解决方案。
提前致谢。
答案 0 :(得分:0)
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(intent);
检查这个......
答案 1 :(得分:0)
检查清单中的已注册活动。
检查Intent过滤器中的com.cardmagic.in.CardMAinActivity
之后它肯定会运行
答案 2 :(得分:0)
在其他应用程序集中,意图过滤到您要启动的活动。
<activity
android:name=".YourActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.GET_CONTENT"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="my.mime.type/my.mime.type"/>
</intent-filter>
</activity>
要启动,请使用以下代码
Intent it = new Intent(Intent.ACTION_GET_CONTENT);
it.setType("my.mime.type/my.mime.type");
startActivity(it);
答案 3 :(得分:0)
使用以下代码...如果您收到ActivityNotFoundException
表示包名称不正确或具有此包名称的应用程序不退出
Intent mIntent = mContext.getPackageManager().getLaunchIntentForPackage("com.cardmagic.in.CardMAinActivity");
if (mIntent != null) {
try {
mContext.startActivity(mIntent);
} catch (ActivityNotFoundException err) {
// do something
}
} else {
// do something
}
包名称应定义为
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cardmagic.in.CardMAinActivity"
答案 4 :(得分:0)
小心你的情况 - CardMAinActivity真的应该是CardMainActivity吗?