0

カスタム通知のボタンでクリック アクションをキャッチしようとしています。を拡張するクラスを作成することは避けたいですBroadcastReciever。これを行うために、サービス クラス内で次のようにコーディングしています。

this.registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.v ("Myreceiver", "on click catch")
        }
    }, new IntentFilter("MyRemoteViewsBroadcast"));

PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent("MyRemoteViewsBroadcast"), 0);
remoteviews.setOnClickPendingIntent(R.I'd. Button, pi);

しかし、うまくいきません。私は何かを失っていますか?

編集:「機能しません」とは、ボタンをクリックしたときに OnReceive() メソッドが呼び出されないことを意味します。(不完全な質問で申し訳ありません)

4

1 に答える 1

0

どこに問題があるのか​​分かりました!!!

コードは完全に機能します!!! 私は自分のコードで書いていました:

PendingIntent playPendingIntent = PendingIntent.**getService**( getApplicationContext(), NOTIFICATION_ID, new Intent("MyRemoteViewsBroadcast"), 0);

それ以外の:

PendingIntent playPendingIntent = PendingIntent.**getBroadcast**( getApplicationContext(), NOTIFICATION_ID, new Intent("MyRemoteViewsBroadcast"), 0);

愚かな間違い。ちょっと休憩しないと!ご不便おかけしてすみません。

于 2016-07-26T21:18:05.733 に答える