Вопрос по android – android.content.ActivityNotFoundException: невозможно найти явный класс активности
Я получаю эту ошибку:
06-06 10:45:19.685: E/AndroidRuntime(554): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.Android.myApp/com.Android.myApp.Facebook.Example}; have you declared this activity in your AndroidManifest.xml?
Но я объявил это в моем файле манифеста. какие могут быть другие причины такого исключения?
Мой manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Android.myApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light" >
<activity
android:name=".SignUpActivity"
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=".SignInActivity"
android:label="@string/app_name" />
<activity
android:name=".HomeActivity"
android:label="@string/app_name" />
<activity
android:name=".selectCityActivity"
android:label="@string/app_name" />
<activity
android:name=".FeedListViewActivity"
android:label="@string/app_name" />
<activity
android:name=".SearchActivity"
android:label="@string/app_name" />
<activity
android:name=".IWantActivity"
android:label="@string/app_name" />
<activity
android:name=".DateActivity"
android:label="@string/app_name" />
<activity
android:name=".ShareActivity"
android:label="@string/app_name" />
<activity
android:name=".ShareProductActivity"
android:label="@string/app_name" />
<activity
android:name=".SharePriceActivity"
android:label="@string/app_name" />
<activity
android:name=".ShareStoreActivity"
android:label="@string/app_name" />
<activity
android:name=".ProfileActivity"
android:label="@string/app_name" />
<activity
android:name=".ShowMapActivity"
android:label="@string/app_name" />
<activity
android:name=".ParticularEntryActivity"
android:label="@string/app_name" />
<activity
android:name=".MyLocationActivity"
android:label="@string/app_name" />
<activity
android:name=".MapMarkerActivity"
android:label="@string/app_name" />
<activity
android:name=".BarcodeActivity"
android:label="@string/app_name" />
<activity
android:name=".BarcodeResult"
android:label="@string/app_name" />
<activity
android:name=".FeedbackActivity"
android:label="@string/app_name" />
<activity
android:name=".SplashActivity"
android:label="@string/app_name" />
<activity
android:name=".Example"
android:label="@string/app_name" />
<uses-library android:name="com.google.android.maps" />
</application>
</manifest>
Вы объявили имя пакета в манифесте какcom.Android.myApp
и название деятельности.Example
. Так Android будет искать его изcom.Android.myApp.Example
.
But your activity is residing in "com.Android.myApp/com.Android.myApp.Facebook.Example
& quot;.Facebook.Example
или полный путь, указанный ниже
В манифесте
<activity
android:name="com.Android.myApp.Facebook.Example">
</activity>
Facebook
или жеExample
Потому что, вы объявили в пакете в декларации какcom.Android.myApp
Но дляfacebook
активность, которую вы объявилиcom.android.myApp.Facebook.Example
А также,
Если пример означает, что ваша деятельность означает, вы должны объявить свою деятельность какcom.Android.myApp.Facebook.Example
Потому что это из другого пакета или вашего имени деятельности какFacebook.Example
Так что лучше вы можете объявить свою активность, как показано ниже -
<activity
android:name=,"com.Android.myApp.Facebook.Example"
android:label="@string/app_name" />
ем"Settings" и получение той же ошибки и внесение всех предложенных изменений в манифест не решало проблему.
Дело в том, что в вызове я также использовал / importing android.provider.Settings, так что из того, что я вижу при попытке запуска действия, между ними возникла путаница. Таким образом, я изменил это в коде, а не в манифесте, чтобы включить полный путь:
Intent launchScr = new Intent(this, com.foo.bar.Settings.class);
И это сработало. Конечно, другой и лучший способ решить эту конкретную проблему - использовать более подходящие имена для моей деятельности.
HTH кто-нибудь с этим вариантом проблемы.