在Android版Mono上启动外部活动错误
本文关键字:外部 活动 错误 启动 Android Mono | 更新日期: 2023-09-27 18:29:47
我今天遇到了很多问题,试图添加一个调用我编写的、希望从另一个应用程序中可用的单独应用程序的意图。有很多关于这个话题的信息,但似乎都不起作用,我发现了这个问题,并想分享我的经验,以防其他人也有同样的问题。
我的清单包括项目
<activity android:name="CraftTabs">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我试着用代码启动它
var intent = new Intent(Intent.ActionMain);
intent.SetClassName("com.mycompany.calculator", "com.mycompany.calculator.CraftTabs");
StartActivity(intent);
这导致活动未找到异常。
在清单文件中给出完全限定的名称
<activity android:name="com.mycompany.calculator.CraftTabs">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
问题的根源最终是我的"CraftTabs"活动的命名空间。它被列在mycompany中,因此生成了清单
因此,解决方案是从SetClassName方法中删除com,即
intent.SetClassName("com.mycompany.calculator", "mycompany.CraftTabs");
所以希望这能帮助你们中的任何一个Mono程序员节省一些头发。。。
如果所有其他操作都失败,只需在下面查找Mono生成的清单obj/debug/android/AndroidManifest.xml