0

カスタム通知のボタンでクリックアクションをキャッチしようとしています。私は、BroadcastRecieverのクラスを作成しないでください。これを行うには、私のサービスクラス内で次のようにコーディングしています:カスタム通知のonClickボタン

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()メソッドが呼び出されないことを意味します。 (不完全な質問に申し訳ありません)

+1

「うまくいかない」とは、実行している問題とはどういう意味ですか? – ChrisStillwell

+0

あなたの非常に速い答えをありがとう!私はクリックしたときにonReceive()メソッドが呼び出されないので、ログは表示されません... –

答えて

0

私は問題がどこにあるかを知っています!

コードは完璧に動作します!

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

の代わり:

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

愚かなミス私は自分のコードに書いていました。ちょっと休憩しないと!ご不便おかけしてすみません。

関連する問題