2012-01-14 11 views
5

いくつかのテキストと追加のボタンを表示するAndroid> = 3.0のカスタムリッチ通知を正常に作成しました。通知ドロップダウンのボタンのどこかに通知をクリックすると、通知が閉じられ、ドロップダウンが閉じられ、指定されたインテントが期待通りに起動されます。 通知の専用ボタンがクリックされた場合、別のインテントが正常に起動されますが、ドロップダウンは開いたままです(通知はまだ表示されますが、問題はありません)。インテントは、通知ドロップダウンの後ろに表示されるアクティビティを起動します。追加のボタンを使用してカスタムリッチ通知からAndroid> = 3.0で通知を閉じる方法を教えてください。

私が達成したいのは、説明されているようにすべての現在の動作を維持することですが、ボタンが起動するインテントからの通知ドロップダウンを閉じることは可能ですか?あるいは、ボタンのインテントからのアクティビティがウィンドウのフォーカスを取得していれば十分です。

はここでカスタム通知のためのコードは、それは場合に役立ちます:

  Notification.Builder builder = new Notification.Builder(main) 
       .setSmallIcon(R.drawable.notification) 
       .setAutoCancel(true) 
       .setTicker(text) 
       .setContentIntent(...); 

      RemoteViews layout = new RemoteViews(
        main.getPackageName(), R.layout.notification); 
      layout.setTextViewText(R.id.title, title); 
      layout.setTextViewText(R.id.text, text); 
      Intent i = new Intent(
        "snooze", null, main, Snooze.class 
      ); 
      i.putExtra(KEY_WIDGET_ID, widgetId); 
      layout.setOnClickPendingIntent(R.id.notification_zzz, PendingIntent.getActivity(main, 0, i, PendingIntent.FLAG_UPDATE_CURRENT)); 
      builder.setContent(layout); 

      ... 
      NotificationManager nm = 
       (NotificationManager)main.getSystemService(Context.NOTIFICATION_SERVICE); 
      nm.notify(0, builder.getNotification()); 

答えて

2

は、Android開発者の勤務時間中に質問を: http://www.youtube.com/watch?v=XvLBvdml_Fs(質問は49:10開始)

答えでした、それは可能ではないと私はこれを行うべきではない、私は質問します。 http://code.google.com/p/android/issues/detail?id=24762

EDIT 08-10-12: は通知が今、追加のアクションを含むことができ、これは可能であるアンドロイド4.1以降では、私は機能要求を作成した理由です 。詳細については、次のページを参照してください。 https://developer.android.com/about/versions/android-4.1.html#UI

+0

この問題を解決したか、またはアプリケーション設計を変更しましたか? – Hunt

+1

Android 3.0〜4.0では解決策が見つかりませんでした。しかし、上記Android 4.1以上で述べたように、ドロップダウンを閉じる追加のアクションのためのメカニズムが組み込まれています。これが私が使用しているものです。詳細はhttp://developer.android.com/guide/topics/ui/notifiers/notifications.html#Actionsをご覧ください。 – mdiener

関連する問題