4

さて、押したときに特定のアプリを開くだけのウィジェットのセットを作成しています。私は開発にかなり慣れていないので、私の質問は、個々のウィジェットごとにマニフェストに新しいレシーバーを追加し続けることができるかどうかです。試してみましたが、機能していましたが、追加したすべての新しいレシーバーを適用すると、DDMSは「レシーバーをインスタンス化できません」と表示するようになりました。以下にマニフェストのコピーを提供しました(3つのレシーバーを使用)。また、これを実行するためのより良い方法がある場合は、お知らせください。ありがとう。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.natehoch96.widgets.Template"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

            <receiver android:name=".Test1"     android:label="@string/widget_test1">
                <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
                <meta-data android:name="android.appwidget.provider" android:resource="@xml/test1_provider" />
            </receiver>

            <receiver android:name=".Test2" android:label="@string/widget_test2">
                <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
                <meta-data android:name="android.appwidget.provider" android:resource="@xml/test2_provider" />
            </receiver>

            <receiver android:name=".Test3" android:label="@string/widget_test3">
                <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
                <meta-data android:name="android.appwidget.provider" android:resource="@xml/test3_provider" />
            </receiver>
4

1 に答える 1

3

レシーバーへのフル パスを使用してみてください。受信機の数に制限はありません。

android:name=".Test3"-->android:name="com.yourpackage.Test3"

于 2011-07-28T19:17:30.707 に答える