Android アプリにアーバン エアシップのプッシュ通知を追加しています。テストプッシュを送信すると、私のカスタムBroadcastReceiver
は通知を受け取ります。これがonReceive()
方法です。
public class IntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent == null)
return;
String action = intent.getAction();
if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) {
int id = intent.getIntExtra(PushManager.EXTRA_NOTIFICATION_ID, 0); //Breakpoint here
Log.w("my app", "Received push notification. Alert: "
+ intent.getStringExtra(PushManager.EXTRA_ALERT)
+ " [NotificationID="+id+"]");
logPushExtras(intent);
} else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) {
//Other stuff here
}
ブレークポイント (コメントに示されている位置) で実行が停止し、詳細がログに記録されます。
ただし、通知領域には通知が表示されません。UA プッシュ通知を使用する別のアプリでは、これだけだったと思いますが、今回は機能していないようです。
マニフェスト ファイルで何か間違ったことをしたか、どこかにクラスを実装するのを忘れたのではないかと思います。
何か案は?
追加情報
拡張アプリケーション:
public class ExtendedApplication extends Application {
public void onCreate(){
AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this);
UAirship.takeOff(this, options);
PushManager.enablePush();
PushPreferences prefs = PushManager.shared().getPreferences();
Log.e("my app", "My Application onCreate - App APID: " + prefs.getPushId());
PushManager.shared().setIntentReceiver(IntentReceiver.class);
}
}
編集
追加してみました
PushManager.shared().setNotificationBuilder(new BasicPushNotificationBuilder());
この投稿で提案されているように、私の ExtendedApplication に。