2012-02-22 4 views
0

私はカスタムステータスバー通知を受け取りました。そこには "再生"と "次の"画像があります。 「再生」または「次の」画像が押されたときに、サービスにブロードキャストインテントを送信したいとします。カスタムステータスバー通知

notification = new Notification(R.drawable.ic_launcher, title + "\n" 
     + text, System.currentTimeMillis()); 
contentIntent = PendingIntent.getActivity(context, 0, actionOnClick, 0); 
notification.contentIntent = contentIntent; 

contentView = new RemoteViews(context.getPackageName(), 
     R.layout.custom_player_notification); 
contentView.setTextViewText(R.id.custom_player_notification_title, 
     title); 
contentView.setTextViewText(R.id.custom_player_notification_text, text); 
notification.contentView = contentView; 

これはコードです。 ContentViewには、 "setOnClickPendingIntent"と "setOnClickFillInIntent"を設定する機能があります。この放送を送信するにはどうすればいいですか? アクティビティを開始したくないので、ブロードキャストを送信したいです。

答えて

0

私は「遊び」や「次」の画像が押されたときにサービスへのブロードキャストインテントを送信したい

私はあなたではなく、放送よりもstartService()経由でコマンドを送信することを示唆しています。

どうすればこのブロードキャストを送信できますか?

あなたは(startService()を介して送信するコマンドのために)(放送用)あなたはPendingIntentに静的getBroadcast()メソッドを介して作成PendingIntentを供給、setOnClickPendingIntent()を呼び出したりgetService()試すことができます。

これは、現在利用可能なほとんどのAndroid搭載端末では機能しません。私はbutton-in- NotificationsがAndroid 4.0、おそらく3.0で始動すると思うが、それ以前は間違いない。

+0

先生、この質問に少し集中できますか? http://stackoverflow.com/questions/27169367/android-update-specific-notification-from-multiple-notifications-which-have-rem 必要に応じて詳細情報を提供します。 –

0

通知のonClick()メソッドにこれと同様のものを入れて、ブロードキャスト受信者に送ることができます。

 Intent intent = new Intent(this, receiver.class); 
     intent.putExtra("SomeInfoMaybe", info); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(
       this.getApplicationContext(), 234324243, intent, PendingIntent.FLAG_CANCEL_CURRENT); 

そして次のステージを処理するためのコードは、ここに行くことができる:

パブリッククラスの受信機は、BroadcastReceiver().notify呼び出し{

@Override 
public void onReceive(Context context, Intent intent) { 
      Bundle bundle = intent.getExtras(); 
    System.out.println("SomeInfoMaybe = " + bundle.getString("info")); 
      //etc... 
    }                   

}

を拡張します。あなたの通知では、ブロードキャストレシーバーへのリンクを助ける必要があります