1

私は現在 android studio を使用しており、自分のアクティビティをマニフェスト ファイルに入れています。正しく呼び出していると思います。ただし、このエラーが発生し続けます:

のせいで:android.content.ActivityNotFoundException: Unable to find explicit activity class {/com.ca.android.easycall.customers1}; have you declared this activity in your AndroidManifest.xml?

これは私の呼びかけです:

Intent actCustomers1 = new Intent(this, customers1.class);
startActivity(actCustomers1);

これが私のマニフェストです:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ca.android.easycall"
    android:versionCode="1"
    android:versionName="1.0" >

    <permission android:name="android.permission.CALL_PHONE" />

    <uses-permission android:name="android.permission.CALL_PHONE" />

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ca.android.easycall.MainActivity"
            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=".customers1"
            android:label="@string/title_activity_customers1" >
        </activity>
        <activity
            android:name=".customers2"
            android:label="@string/title_activity_customers2" >
        </activity>
    </application>

</manifest>
4

4 に答える 4

3

あなたが投稿したものから、あなたのクラスcustomers1はパッケージで宣言されていないようですcom.ca.android.easycall

のようなものがある場合android:name=".customers1"、Android コンパイラはパッケージ名を先頭に追加しようとするため、次package="com.ca.android.easycall"のようになります。com.ca.android.easycall.customers1

Androidの公式ドキュメントから引用:

アンドロイド:名前

Activity のサブクラスである Activity を実装するクラスの名前。属性値は、完全修飾クラス名 (「com.example.project.ExtracurricularActivity」など) である必要があります。ただし、省略形として、名前の最初の文字がピリオドの場合 (たとえば、".ExtracurricularActivity")、要素で指定されたパッケージ名に追加されます。

ただし、エラーログを取得したため:

Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {/com.ca.android.easycall.customers1}; have you declared this activity in your AndroidManifest.xml?

したがって、customers1 が宣言されていないか、customers1 がcom.ca.android.easycallパッケージに含まれていない必要があります。

于 2013-10-11T05:26:27.570 に答える
1

これを試して、

<activity
        android:name="com.ca.android.easycall.customers1"
        android:label="@string/title_activity_customers1" >
    </activity>
    <activity
        android:name="com.ca.android.easycall.customers2"
        android:label="@string/title_activity_customers2" >
    </activity>
于 2013-10-11T05:15:51.763 に答える
0

Manifest.xml次のように編集してください。

    <activity
        android:name="com.ca.android.easycall.customers1"
        android:label="@string/title_activity_customers1" >
    </activity>
    <activity
        android:name="com.ca.android.easycall.customers2"
        android:label="@string/title_activity_customers2" >
    </activity>

これが役立つことを願っています。

于 2013-10-11T05:16:05.133 に答える
0

アクティビティ ファイルの上部にあるパッケージを確認します。アクティビティには、アプリケーションとは異なるパッケージが含まれている可能性があります。

異なる場合は、マニフェストcom.ca.android.easycallにあるものに変更します

于 2013-10-13T04:11:41.653 に答える