2013-08-31 2 views
0

У меня было много проблем сегодня, пытаясь добавить намерение вызвать отдельное приложение, которое я написал, что я хотел быть доступным из другого приложения. Было много информации по этой теме, но ничего не работало, и я выяснил эту проблему и хотел поделиться своим опытом, если у кого-то была такая же проблема.Запуск ошибок внешней активности для Mono для Android

Мой манифест включал пункт

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

что привело к активности не нашли исключение.

ответ

0

Корень проблемы оказался моим пространством имен для деятельности «CraftTabs». Он был включен в MyCompany и, таким образом манифест генерируется

поэтому решение было просто удалить ком. из метода SetClassName, т.е.

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

Так, мы надеемся, это поможет любой из вас Mono кодеры там сохранить некоторые пряди волос ...

Если все остальное не просто посмотреть манифест генерируется Mono под OBJ/отладки/Android/AndroidManifest.xml

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

В моем случае это не сработало, потому что пространство имен не было в списке «пространства имен com.mycompany.calculator.CraftTabs {}» , но как «mycompany.calculator.CraftTabs пространства имен {}» , таким образом, в код Мне пришлось написать его, как указано ниже, 'intent.SetClassName («com.mycompany.calculator», «mycompany.CraftTabs»); –

Смежные вопросы