2012-02-04 5 views
2

Я пытаюсь начать деятельность из своего основного вида деятельности. Это не работает и меня заводит. Что у меня есть:ActivityNotFoundException: Не удается найти явный класс активности

Intent i = new Intent ("net.xxx.View1"); 
Context con = this.getBaseContext(); 
ComponentName cn = new ComponentName("net.xxx.Mybooks", "BookView"); 
i.setComponent(cn); 
Bundle extras = new Bundle(); 
ooo    
i.putExtras(extras); 
startActivity(i);  

Manifest is: 
      android:name="BookView" > 
     <intent-filter > 
      <action android:name ="android.intent.action.VIEW" /> 
      <action android:name ="net.xxx.View1" />  
      <category android:name ="android.intent.category.DEFAULT" /> 
     </intent-filter> 

Что я получаю:
* 02-03 19: 34: 47,448: E/AndroidRuntime (2027): android.content.ActivityNotFoundException: Невозможно найти явный класс активности {net.xxx.Mybooks/BookView}; объявили ли вы эту активность в вашем AndroidManifest.xml *
Что было бы правильно, я думаю, если '/' был '.'

Я пробовал с контекстом и без какого-либо componentetName, результат всегда один и тот же.

SdkVersion = "10"
Заранее спасибо за вашу помощь
Клифф

+0

Я также пробовал Intent i = new Intent (это, BookView.class); и я получаю «02-04 14: 24: 31.750: E/AndroidRuntime (480): java.lang.RuntimeException: не удается запустить Activity ComponentInfo {net.crl.mybooks/net.crl.mybooks.BookView}: java.lang .NullPointerException " – cliff2310

ответ

6

Хорошо, несмотря на то, что моллюски активности не были обнаружены, проблема была в новом действии. В коде было исключение нулевого указателя. Таким образом, я провел день или около того, преследуя неправильную проблему.

Спасибо за ваше время так или иначе

Клифф

+0

Была та же проблема. Благодарю. – rottenoats

4

Попробуйте положить "" перед BookView Попробуйте сделать что-то подобное в своем манифесте.

<activity android:name=".BookView" > 
    <intent-filter > 
     <action android:name ="android.intent.action.VIEW" /> 
     <action android:name ="net.xxx.View1" />  
     <category android:name ="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 
+0

Я пробовал это. Я получаю тот же результат, или тот, у которого есть «new.xxx.MyBooks/net.xxx ...». Но спасибо за ответ. Утечка – cliff2310

0

Я получил эту проблему после того, как я переименовал некоторые виды деятельности. Убедитесь, что вы обновили свой AndroidManifest, чтобы отразить изменения переименования.

0

Я также получаю это когда я ставлю класс Activity полученный вложен в другом классе, поэтому он не может быть найден, двигаясь снаружи решает проблему

+0

Можете ли вы объяснить это немного дальше? Более детально? –

0

Убедитесь, что ваша деятельность определяется в манифесте. У меня была копия, вставленная классом Activity, и я забыл добавить определение в файл манифеста и столкнулся с этой проблемой.

+0

Да, это было бы проблемой, но моя проблема была другой. См. Ответ ниже. – cliff2310

0

У меня есть аналогичная проблема после refactor моего имени пакета, и я наконец обнаружил, что значение моего applicationId в build.gradle имеет опечатку, а Android Studio не дает никаких предупреждений.

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