ActivityNotFoundException:但活动已在清单中声明



希望得到一些帮助。我收到一个错误:

04-13 15:01:45.336:E/AndroidRuntime(11065):android.content.ActivityNotFoundException:找不到显式活动类{com.domakecreatedesign.getfit/com.domakecreatedesign.runtracker.RunActivity};您是否在AndroidManifest.xml中声明了此活动?…

然而,我已经在清单中声明了所述类RunActivity。然而,我注意到路径不正确,它应该调用com.domakecreatedesign.runtracker.RunActivity,然而,正如您从上面看到的,它正在调用:com.domakereatedesign.getfit.com/domakecreatedesign.runtracker.RunActivity…

我不知道为什么会这样。这是我的清单xml

        <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.domakecreatedesign.getfit"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="19" />
    <permission
        android:name="com.domakecreatedesign.getfit.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.domakecreatedesign.getfit.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission
        android:name="android.permission.GET_ACCOUNTS"
        android:maxSdkVersion="19" />
    <uses-permission
        android:name="android.permission.USE_CREDENTIALS"
        android:maxSdkVersion="19" />
    <uses-feature
        android:name="android.hardware.location.gps"
        android:required="true" />
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/getfit_icon"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light" >
        <meta-data android:name="com.google.android.gms.version" 
            android:value="@integer/google_play_services_version" />

        <!-- Splash screen -->
        <activity
            android:name="com.domakecreatedesign.getfit.SplashScreen"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- Main Activity -->
        <activity
            android:name="com.domakecreatedesign.getfit.MainActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.domakecreatedesign.getfit.ChooseLogin"
            android:label="@string/title_activity_fblogin" />

        <activity
            android:name="com.domakecreatedesign.getfit.gplus_Login"
            android:label="@string/app_name" />
        <activity
            android:name="com.domakecreatedesign.getfit.Main_Menu"
            android:label="@string/app_name" />

        <activity
            android:name="com.domakecreatedesign.runtracker.RunListActivity"
            android:label="@string/app_name" />

        <activity
            android:name="com.domakecreatedesign.runtracker.RunMapActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.domakecreatedesign.runtracker.RunActivity"
            android:label="@string/app_name" />


        <receiver
            android:name=".TrackingLocationReceiver"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.domakecreatedesign.runtracker.ACTION_LOCATION" />
            </intent-filter>
        </receiver>
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyATK_V5Ae2g7uJQM1EBhEcPZAL19B8jBuc" />
    </application>
</manifest>

调用方法为:

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    // the id argument will be the Run ID; CursorAdapter gives us this for free
    Intent i = new Intent(getActivity(), com.domakecreatedesign.runtracker.RunActivity.class);
    i.putExtra(com.domakecreatedesign.runtracker.RunActivity.EXTRA_RUN_ID, id);
    startActivity(i);
}

同样值得注意的是,该应用程序包含在的两个包中

  1. com.domakecreatedesign.getfit
  2. com.domakecreatedesign.runcker

这需要在清单中以某种方式声明吗?

如有任何帮助,我们将不胜感激。

非常感谢

试试这个。。

Intent i = new Intent();
i.setComponent(new ComponentName("com.domakecreatedesign.getfit", "com.domakecreatedesign.runtracker.RunActivity"));
startActivity(i);

尝试ActivityName.this而不是getActivity()

Intent i = new Intent(getActivity(), com.domakecreatedesign.runtracker.RunActivity.class);

像这样的

Intent i = new Intent(AcitivityName.this, com.domakecreatedesign.runtracker.RunActivity.class);

相关内容

  • 没有找到相关文章

最新更新