2

Android アプリケーションにプッシュ通知のフレームワークを正常に実装しましたが、 Class by GoogleGCMでオーバーライドされた関数について少し混乱しています。GcmIntentService

@Override
protected void onUnregistered(Context context, String registrationId) {

//Do whatever you want

}

このメソッドはいつ呼び出されますか?

4

5 に答える 5

3

公式のJavaドキュメントから:

GCM から登録解除するには、次の手順を実行します。

Intent unregIntent = new
Intent("com.google.android.c2dm.intent.UNREGISTER");
 unregIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new
 Intent(), 0)); 
 startService(unregIntent); 

登録リクエストと同様に、このインテントは非同期で送信され、レスポンスは com.google.android.c2dm.intent.REGISTRATION インテントとして送信されます。

使用例の 1 つは、サーバー上の Web サービスを呼び出して、登録済みデバイスのリストからデバイスを削除できるようにすることです。

于 2013-01-01T14:38:26.207 に答える
2

Android デバイスを GCM から登録解除するには、コードの登録解除する場所に次の行を追加します。

GCMRegistrar.unregister(this);
于 2013-05-03T10:56:47.617 に答える
1

GCMRegistrar.unregister() メソッドを使用して GCM サーバーから登録解除した後に呼び出されます。

GCMBaseIntentServiceドキュメントでここに記載されているように:

デバイスが登録解除された後に呼び出されます。

デバイスを登録解除する 2 つの方法 (手動と自動) について説明しているため、How Unregistration Worksドキュメントも参照してください。

于 2013-01-01T14:36:01.493 に答える
0
onUnregistered(Context context, String regId):

デバイスが GCM から登録解除された後に呼び出されます。通常、regid をサーバーに送信して、デバイスの登録を解除する必要があります。

アプリがアンインストールされる前に登録を解除できることがわかりました。わかりませんが、それが1つの方法であることを願っています

アプリがアンインストールされる前にアクティビティを呼び出し、以下のインテント フィルターを使用してアクティビティを追加します::

 <activity
    android:name=".UninstallIntentActivity"
    android:label="@string/app_name" >

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <action android:name="android.intent.action.DELETE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="package" android:pathPattern="com.testpack.yourapp" />
    </intent-filter>



</activity>

そのアクティビティ内で :: を呼び出すことができます

 onUnregistered(Context context, String regId):

そのデバイスの登録を解除します。これらのためのより良い方法があるはずです。

于 2013-01-01T14:40:06.440 に答える
-1

Android開発者サイト自体から期待する解決策を得ました実際には、開発者のサイトでのGoogleの説明に従って、アプリケーションがアンインストールされるときに関数が自動的に呼び出されるはずですが、Androidはアンインストールコールバックを提供しないため、このプロセスはすぐには起こりません. 以下のリンクを確認してください。

http://developer.android.com/google/gcm/adv.html#unreg

ご支援いただきありがとうございます。

于 2013-01-04T14:56:31.497 に答える