Android - мероприятие, не найденное исключение
Я использую startActivity для вызова другого действия, и я получаю "Неиспользуемое действие". Вот мой код:
TextView textView = (TextView) itemClicked;
String strText = textView.getText().toString();
String key = "symptom";
Intent mIntent = new Intent(symptomActivity.this, symptomRemedyActivity.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, strText);
mIntent.putExtras(mBundle);
startActivity(mIntent);
Вот вывод Logcat:
INFO/ActivityManager(59): Displayed activity com.android.homeopathy/.HomeopathyActivity: 5542 ms (total 39089 ms)
INFO/ARMAssembler(59): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x3283e0:0x3284ec] in 627000 ns
INFO/ActivityManager(59): Starting activity: Intent { cmp=com.android.homeopathy/.symptomActivity }
INFO/ActivityManager(59): Displayed activity com.android.homeopathy/.symptomActivity: 2706 ms (total 2706 ms)
INFO/ActivityManager(59): Starting activity: Intent { cmp=com.android.homeopathy/.symptomRemedyActivity (has extras) }
Вот вывод окна отладки:
Thread [<1> main] (Suspended (exception ActivityNotFoundException))
Instrumentation.checkStartActivityResult(int, Object) line: 1404
Instrumentation.execStartActivity(Context, IBinder, IBinder, Activity, Intent, int) line: 1378
symptomActivity(Activity).startActivityForResult(Intent, int) line: 2817
symptomActivity(Activity).startActivity(Intent) line: 2923
symptomActivity$1.onItemClick(AdapterView, View, int, long) line: 67
ListView(AdapterView).performItemClick(View, int, long) line: 284
ListView.performItemClick(View, int, long) line: 3382
AbsListView$PerformClick.run() line: 1696
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
symptomRemedyActivity - это еще одно действие в моем проекте. Есть ли что-то, что мне нужно сделать, например, импортировать функцию симптомов, чтобы startActivity мог видеть symomRemedyActivity, чтобы удалить это "Неиспользуемое действие"?
Ответы
Ответ 1
Я знаю, что это старый пост, но он находится на вершине поиска Google в настоящий момент, поэтому для тех, кто придет сюда позже: ActivityNotFound
может быть вызван необработанными исключениями в вашем onCreate
в действии, которое вы "пытаюсь создать. Мне потребовалось некоторое время, чтобы заметить, что я вызываю nullPointerException
, потому что я его не искал.
Ответ 2
Вы указали активность (symtomRemedyActivity) в файле AndroidManifest.xml?
Ответ 3
Убедитесь, что вы добавили в файл манифеста следующее:
<activity
android:name=".YourActivity"
>
</activity>
Ответ 4
Зачастую с той же ошибкой в течение часа, чтобы понять, что мне нужно снова очистить и построить. По-видимому, некоторые изменения в xml не отражают, пока мы не очистим и не восстановим.
Ответ 5
Вы, конечно, забыли объявить действие в файле манифеста AndroidManifest.xml следующим образом (вам нужно ввести значение, которое вы действительно получили):
<activity
android:name="symptomRemedyActivity"
android:label="@string/title_activity_ symptomRemedy"
android:parentActivityName="MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="MainActivity" />
</activity>
Ответ 6
Если ваши два действия (symptomActivity и symptomRemedyActivity) находятся в разных пакетах, вы должны объявить в Android Manifest название пакета.
Ответ 7
Я пытался запустить SERVICE с помощью startActivity(intent)
и вышло одно и то же исключение. Чтобы запустить SERVICE, используйте startService(intent)
Ответ 8
Вам нужно не только добавить свою активность в AndroidMainifest.xml следующим образом:
<activity
android:name=".MyActivity"
></activity>
но также вы должны подтвердить свой путь к пакету.
Например, моя деятельность находится в пакете com.demo. Руководитель AndroidMainifest должен написать один и тот же путь пакета, например:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo"
android:versionCode="1"
android:versionName="1.0" >
Ответ 9
В дополнение к ответу, который дал Unfrog.
Один из способов получить NullPointerException
- выполнить код, относящийся к частям представления перед setContentView()
.
Ответ 10
Несколько тегов приложения в манифесте могут вызвать это.
Ответ 11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.salvopaverani.databes"
android:versionCode="1"
android:versionName="1.1" >
В файле манифеста я пытаюсь изменить андроид: versionName от 1.0 до 1.1 и все в порядке.
Ответ 12
У меня была такая же проблема. Убрал папку bin и lib из каталога проекта, обновил папку libs и вставил libs. Все началось. Это был v4 lib, который был виновником.
Ответ 13
Попробуйте добавить активность к AndroidManifest.xml
<activity android:name=".MyActivity" />