【发布时间】:2012-03-27 19:36:06
【问题描述】:
当使用 Eclipse 的模拟器从应用程序调用另一个应用程序的活动时,我不断收到“ActivityNotFoundException:无法找到显式活动类...”。也许问题可能与我在“设置”中单击“管理应用程序”时无法同时下载/查找这两个应用程序有关。这是我需要调用另一个应用程序的活动的第一个项目。但我也不确定代码是否正确。请帮助我确定我在下面提供的代码 sn-ps 中是否存在错误。提示我可以设置意图的动作域来实现目标,但还没有找到这方面的学习资料。我了解了在调用应用程序中使用 setComponent 方法并将 android:export 添加到被调用活动的 AndroidManifest.xml 中。提前致谢!
调用app相关源码:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.MyPackage", om.MyPackage.Activity1));
startActivity(intent);
调用app相关的AndroidManifest.xml:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity1">
<intent-filter>
<action android:name="com.MyPackage.Activity1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
另一个应用的activity的AndroidManifest.xml相关代码
<activity android:name=".Activity1" android:exported = "true">
<intent-filter>
<action android:name="com.MyPackage.Activity1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
【问题讨论】: