Вопрос по android – android.content.ActivityNotFoundException: невозможно найти явный класс активности

17

Я получаю эту ошибку:

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>
@ Archie.bpgc завершите файл манифеста с помощью do, чтобы понять не одну строку. Lalit Poptani
как убедиться, что он указан правильно ?? ... его есть в свойствах - & gt; Библиотека. Housefly
показать свой файл манифеста. Lalit Poptani
Может быть, класс библиотеки не указан правильно Andro Selva
@Lalit Poptani ... это то, что я включил в мой manifest.xml ... & lt; Activity android: name = & quot; .Example & quot; Android: метка = & Quot; @ строка / имя_приложение & Quot; / & GT; Housefly

Ваш Ответ

8   ответов
34

Вы объявили имя пакета в манифесте как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>
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Housefly
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededremember to include the dot "." at the frontError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Housefly
1

раметр намерения) в разных пакетах.

Я также обнаружил, что это происходит, когда вы вызываете startService вместо вызова startActivity и наоборот.

0

когда кэшированный манифест выходит из синхронизации. Мне удалось это исправить в терминале Android Studio с помощью./gradlew clean а затем в строке меню Android Studio выберитеFile & GT;Invalidate Caches / Restart для хорошей меры

1

[Activity(Label = "Your App Name", MainLauncher=true)]

Примечание. Установите MainLauncher только при необходимости.

6

<activity
        android:name=".Facebook.Example"
        android:label="@string/app_name" />
2

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" />
4

ем"Settings" и получение той же ошибки и внесение всех предложенных изменений в манифест не решало проблему.

Дело в том, что в вызове я также использовал / importing android.provider.Settings, так что из того, что я вижу при попытке запуска действия, между ними возникла путаница. Таким образом, я изменил это в коде, а не в манифесте, чтобы включить полный путь:

Intent launchScr = new Intent(this, com.foo.bar.Settings.class);

И это сработало. Конечно, другой и лучший способ решить эту конкретную проблему - использовать более подходящие имена для моей деятельности.

HTH кто-нибудь с этим вариантом проблемы.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

если у вас есть объект Activity (который вам нужно запустить):

 intent.setClassName(CallingActivity.this, activityToLaunch.getComponentName().getClassName());

Похожие вопросы