0

プッシュ通知にUrbanAirshipを使用しています。それは魅力のように機能しますが、アプリケーションが実行されていないときにプッシュ通知を送信しなかったことがわかりました。

これをどのように処理しますか?私はそれが一般的なシナリオであり、解決策があると確信しています。

スタックオーバーフローで多くの投稿をチェックしましたが、それらのほとんどはiOS用です。Androidが欲しい

AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this);

  UAirship.takeOff(this, options);
Logger.logLevel = Log.VERBOSE;


PushManager.shared().setIntentReceiver(IntentReceiver.class);
PushManager.enablePush();

マニフェストフィエに以下のコードがあります

   <!-- REQUIRED for Urban Airship GCM-->
    <receiver android:name="com.urbanairship.CoreReceiver" />

    <receiver android:name="com.urbanairship.push.GCMPushReceiver" 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" />

          <!-- MODIFICATION REQUIRED - Use your package name as the category -->
          <category android:name="com.itest.guide.urbanairship" />
      </intent-filter>
    </receiver>

    <service android:name="com.urbanairship.push.PushService" android:label="Push Notification Service"/>
    <service android:name="com.urbanairship.push.PushWorkerService" android:label="Push Notification Worker Service"/>
    <service android:name="com.urbanairship.analytics.EventService" android:label="Event Service"/>

    <!-- This is required for persisting preferences related to push and location -->
    <provider android:name="com.urbanairship.UrbanAirshipProvider"
        android:authorities="com.itest.mauritiustourguide.urbanairship.provider"
        android:exported="false"
        android:multiprocess="true" />
    <!-- END OF REQUIRED ITEMS -->


    <!-- OPTIONAL, if you want to receive push, push opened and registration completed intents -->
    <!-- Replace the receiver below with your package and class name -->
    <receiver android:name="com.itest.guide.urbanairship.IntentReceiver" />
4

2 に答える 2

0

その理由は、マニフェスト ファイル内のブロードキャスト レシーバーが原因である可能性があります。必ず入れますか?ブロードキャスト レシーバーはアプリケーションを起動し、プッシュがあると通知します。

于 2012-11-18T04:56:17.170 に答える
0

BroadcastReceiver インテント フィルタのカテゴリがアプリ パッケージと一致する行のようには見えません

<category android:name="com.itest.guide.urbanairship" />
于 2012-11-18T06:29:05.400 に答える