0

アクティビティを開始しようとしたときに ActivityNotFoundException を受け取りました

java.lang.RuntimeException: Unable to start activity
    ComponentInfo{com.mypackagename/com.mypackagename.StartActivity}:
    android.content.ActivityNotFoundException: Unable to find explicit activity class
    {com.mypackagename/com.mypackagename.MainActivity}; 
    have you declared this activity in your AndroidManifest.xml?
    ....

このコードを使用して新しいアクティビティを開始しています

Intent MainActivity = new Intent (this, MainActivity.class);
MainActivity.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
startActivity(MainActivity);
finish();

しかし、Google 開発者コンソールから ActivityNotFoundException (上記のメッセージのような) のクラッシュ レポートを 1 人のユーザーから受け取りました。

マニフェスト内で両方のアクティビティを宣言しました

....
<activity 
    android:name="com.mypackagename.StartActivity"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:theme="@style/AppTheme"
    android:noHistory="true" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name="com.mypackagename.MainActivity"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:theme="@style/AppTheme"
    android:configChanges="orientation|keyboardHidden|screenSize" >
</activity>

エミュレーターを使用して、いくつかの Nexus デバイスと各 API バージョンでテストすると、すべて正常に動作します。

StartActivity クラスは Activity を拡張し、MainActivity クラスは ActionBarActivity を拡張します

新しいアクティビティなどを開始するときにコードに問題はありますか?

で囲うべきでしょうか?

try {
    ...
} catch (Exception ...) {
    ...
}
4

1 に答える 1

1

Intentクラス名と同じ名前を使用しているため、変数の名前を変更してみてください。

代わりに試してください

Intent intent = new Intent (this, MainActivity.class);;

于 2014-08-24T07:55:40.213 に答える