【Android】android.content.ActivityNotFoundException の対処法
MainActivity
から異なるパッケージにある OnboardActivity
に Intent
を使用して画面遷移しようとしたところ下記のような Error に遭遇していました 👀
E/AndroidRuntime: FATAL EXCEPTION: main Process: YamatoOtaka.Fidee.debug, PID: 30741 java.lang.RuntimeException: Unable to resume activity {YamatoOtaka.Fidee.debug/YamatoOtaka.Fidee.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {YamatoOtaka.Fidee.debug/YamatoOtaka.Fidee.HogeActivity}; have you declared this activity in your AndroidManifest.xml?
原因
どうやらエラーメッセージの通り、AndroidManifest
に該当の Activity
が追加されていない場合に発生する Error のようです。
上記のように Android Studio
のテンプレートを使用すれば Activity
が作成される際に AndroidManifest
にも Activity
が自動的に追加されるそうです。
解決
とりあえず、AndroidManifest
に下記のように Activity
を追加したところ無事に動作するようになりました。✨ 原因
のセクションでも書いた通り、これらの追加作業を自動的に行ってもらうように、今後 Activity
の追加は Android Studio
のテンプレートを使用して行おうと思います。
<activity android:name=".OnboardActivity"></activity>
参考
- https://developer.android.com/training/basics/firstapp/starting-activity?hl=ja
- http://trade-and-develop.hatenablog.com/entry/2015/09/25/180718
- http://vacaposi.blogspot.com/2011/09/activityandroid.html