0

アプリに GCM の統合を開始しました。GCMIntentService を配置する必要があるパッケージ名に関するクエリはほとんどありません。android.developer サイトの状態として

By default, it must be named .GCMIntentService, unless the
application uses a custom BroadcastReceiver that redefines its name.

BackgroundServiceそして、私のアプリケーションは以前、com.abc.xyz.serviceパッケージに含まれていた Service クラスを使用していました。私のルートパッケージ名はcom.abc.xyz.ui.activity. 私はこのリンクとこのリンクを通過しました。ソリューションはパッケージ名で機能しますが、私のパッケージ名では同じではありません。私のルートパッケージが異なるためです。

私の質問は、パッケージ構造の名前を変更する必要がありますか、それとも他の方法がありますか? 最初から使用している標準形式のパッケージ名を変更したくありません。同じことを行う他の方法があります。前もって感謝します。

編集

<receiver
            android:name="com.abc.xyz.service.GCMReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <!-- Receives the actual messages. -->
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <!-- Receives the registration id. -->
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="com.abc.xyz.ui.activity" />
            </intent-filter>
        </receiver>

        <service android:name="com.abc.xyz.service.BackgroundService" />

回答者を更新して完成させる

Anup が述べたように、ファイルを適切に修飾している限り、ファイルをどこに置くかは問題ではありません。私の仕事も同じでした。あなたはrefを取ることができます。答えを得るのに役立った私の他の質問リンクの。私のこの質問は、私のマニフェストが含まれているため、カバーされているすべてのものとしてリンクしています。したがって、少なくとも間違っていないとして、Anupの答えを受け入れています。

4

1 に答える 1

1

サービスのマニフェスト ファイル宣言で適切に修飾する限り、実際には問題にはなりません。任意のパッケージに入れることができますが、使用する場所で適切に修飾するようにしてください。

于 2013-01-15T05:18:56.017 に答える