以下是logcat中的错误:
FATAL EXCEPTION: Thread-8
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.slehmann.volumetimechanger.MAINACTIVITY }
这是我的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.slehmann.volumetimechanger"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:screenOrientation="portrait"
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="com.slehmann.volumetimechanger.APP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:process=":remote" android:name="AlarmReceiver"/>
<activity
android:screenOrientation="portrait"
android:label="@string/app_name"
android:name=".splash" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这是我的意图:
} finally {
Intent openMenus = new Intent("com.slehmann.volumetimechanger.MAINACTIVITY");
startActivity(openMenus);
}
答案 0 :(得分:2)
你应该使用
} finally { Intent openMenus = new Intent("com.slehmann.volumetimechanger.APP"); startActivity(openMenus); }
或
} finally { Intent openMenus = new Intent(CLASSNAME.this, TARGETCLASSNAME.class); startActivity(openMenus); }
或更改manifest.xml
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:screenOrientation="portrait"
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="com.slehmann.volumetimechanger.MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:process=":remote" android:name="AlarmReceiver"></receiver>
<activity
android:screenOrientation="portrait"
android:label="@string/app_name"
android:name=".splash" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
答案 1 :(得分:0)
您有一个愚蠢的错误,您的活动名称是 MainActivity ,并且在您的意图通话中,您已将其声明为 MAINACTIVITY 因为这个原因发生了。这就像 -
finally {
Intent openMenus = new Intent("com.slehmann.volumetimechanger.MainActivity");
startActivity(openMenus);
}
答案 2 :(得分:0)
您的活动名称MainActivity
为manifest
,如果是呼叫意图,请使用MAINACTIVITY
因为这个原因发生。请记住uppercase
和lowercase
。
另一件事:
只应在启动器类别中注册一项活动。
<activity android:name=".FirstClassName"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
其他活动应该声明为这样,没有额外的权限。
<activity android:name=".SecondClassName"/>
所以声明进入清单:
<activity
android:screenOrientation="portrait"
android:name=".MainActivity"
android:label="@string/title_activity_main" >
</activity>
删除
<intent-filter>
//
</intent-filter>
从MainActivity声明的清单。