在Mono for Android上启动外部活动错误

时间:2013-08-31 07:07:06

标签: c# android mono

我今天遇到了很多问题,试图添加一个意图来调用我写的一个单独的应用程序,我想从另一个应用程序中获取。有很多关于这个主题的信息,但似乎没有任何效果,我发现了问题,并希望分享我的经验,以防其他人遇到同样的问题。

我的清单包括项目

<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);

导致未找到活动异常。

2 个答案:

答案 0 :(得分:1)

在清单文件中提供完全限定名称。

<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>

答案 1 :(得分:0)

问题的根源最终成为“CraftTabs”活动的命名空间。它列在mycompany中,因此生成了清单                                      

所以解决办法就是删除com。来自SetClassName方法,即

 intent.SetClassName("com.mycompany.calculator", "mycompany.CraftTabs");

所以希望这有助于你们中的任何一个单声道编码器在那里保留一些头发......

如果所有其他方法都失败了,只需查看Mono生成的清单 OBJ /调试/机器人/ AndroidManifest.xml中