2

パッケージルート以外のディレクトリにGCMIntentServiceを配置したいと思います。

GCMのドキュメントには次のように記載されています

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

私の質問は、この「カスタムBroadcastReceiver」をどのように作成するのかということです。

4

2 に答える 2

4

基本的なドキュメントでは、マニフェストに次を追加する必要があります。

<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
  <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    <category android:name="my_app_package" />
  </intent-filter>
</receiver>

BroadcastReceiverこれは、イベントを にルーティングする GCM 提供の を指します.GCMIntentService。サービスを他のパッケージに常駐させたい場合は、独自の を提供する必要がありますBroadcastReceiver。これは、使用するサービスの完全修飾クラス名を返すためにサブクラス化GCMBroadcastReceiverおよびオーバーライドするものを作成するのと同じくらい簡単かもしれません。getGCMIntentServiceClassName()

于 2012-11-13T12:30:00.550 に答える
4

これを試してください-GCMIntentServiceクラスのパッケージの名前を変更または変更します

于 2012-11-13T14:49:24.570 に答える