不在着信があった場合の通知を消去する方法について

993 views
Skip to first unread message

ロウキル

unread,
Jun 23, 2011, 10:41:17 AM6/23/11
to 日本Androidの会
お世話になっております。
現在、電話帳アプリを作成しています。

不在着信通知があった場合に、ステータスバーに表示される通知なのですが、
この通知をタップすると、当方アプリを一覧に表示して選択できるようにはしました。
ただ、当方アプリを起動後に不在着信通知をステータスバーから消去する方法が
わかりませんでした。

NotificationManagerのcansel(notificationId)を呼べば・・・と思ったのですが
notificationIdがわかりませんし、そもそもこのnotificationIdは、通知を出した
アプリが違えば被っても問題ないと認識しています。。。

こちらの勘違いもあるかもしれませんが、不在着信通知を消す方法をご教授頂けないでしょうか?
ご多用の所大変恐縮ですが、よろしくお願い致します。

moriki

unread,
Jun 24, 2011, 11:11:49 AM6/24/11
to 日本Androidの会
はじめまして。同じく電話帳アプリ作ってる者です。

自分の知ってる範囲で、回答します。間違いあったらすいません!


不在着信を消す方法ですが以下のメソッドを使うことで条件付きですが可能です。

 
com.android.internal.telephony.ITelephony#cancelMissedCallsNotification

ただし非公開APIのためリフレクション等でアクセスする必要があります。

標準の電話帳アプリのソースコードを一度見てみることをお薦めします。

基本的に標準の電話帳アプリが行なっている処理をリフレクションを使って行なうことで可能です。


この方法には、以下の注意と問題があります。

・以下のパーミッションの許可が必要です。
 android.permission.MODIFY_PHONE_STATE

・Android 2.3 以降 の AndroidOS では動作しません。
 (上記パーミッションが標準アプリ以外からは利用できなくなったみたいです)
 Android 2.3 以降では今のところ不在着信を消す方法はない認識です。


2.3 以降のこの仕様について以下で議論がされていたようです。

http://code.google.com/p/android/issues/detail?id=14789
http://code.google.com/p/android/issues/detail?id=15022
http://code.google.com/p/android/issues/detail?id=15031


間違い等に気付いた方いれば 是非ぜひ ご指摘お願いいたします。

ロウキル

unread,
Jun 24, 2011, 11:47:20 AM6/24/11
to 日本Androidの会
はじめまして。
ご連絡ありがとうございます!

リフレクションというのは初めて聞きましたが、調べてやってみます。
またサンプルソースも参考に致します。

2.3以降ではダメになったんですね。。。
正直、まったくわからないという状態でしたので本当にありがとうございます!

お忙しい所ご回答して頂き大変うれしいです。
また投稿させて頂くこともあるかもしれませんが、なにとぞよろしくお願い致します。


On 6月25日, 午前12:11, moriki <benisho...@gmail.com> wrote:
> はじめまして。同じく電話帳アプリ作ってる者です。
>
> 自分の知ってる範囲で、回答します。間違いあったらすいません!
>
> 不在着信を消す方法ですが以下のメソッドを使うことで条件付きですが可能です。
>
>
> com.android.internal.telephony.ITelephony#cancelMissedCallsNotification
>
> ただし非公開APIのためリフレクション等でアクセスする必要があります。
>
> 標準の電話帳アプリのソースコードを一度見てみることをお薦めします。
>
> 基本的に標準の電話帳アプリが行なっている処理をリフレクションを使って行なうことで可能です。
>
> この方法には、以下の注意と問題があります。
>
> ・以下のパーミッションの許可が必要です。
>  android.permission.MODIFY_PHONE_STATE
>
> ・Android 2.3 以降 の AndroidOS では動作しません。
>  (上記パーミッションが標準アプリ以外からは利用できなくなったみたいです)
>  Android 2.3 以降では今のところ不在着信を消す方法はない認識です。
>
> 2.3 以降のこの仕様について以下で議論がされていたようです。
>
> http://code.google.com/p/android/issues/detail?id=14789http://code.google.com/p/android/issues/detail?id=15022http://code.google.com/p/android/issues/detail?id=15031
>
> 間違い等に気付いた方いれば 是非ぜひ ご指摘お願いいたします。
>
> On 6月23日, 午後11:41, ロウキル <rouk...@gmail.com> wrote:
>
>
>
> > お世話になっております。
> > 現在、電話帳アプリを作成しています。
>
> > 不在着信通知があった場合に、ステータスバーに表示される通知なのですが、
> > この通知をタップすると、当方アプリを一覧に表示して選択できるようにはしました。
> > ただ、当方アプリを起動後に不在着信通知をステータスバーから消去する方法が
> > わかりませんでした。
>
> > NotificationManagerのcansel(notificationId)を呼べば・・・と思ったのですが
> > notificationIdがわかりませんし、そもそもこのnotificationIdは、通知を出した
> > アプリが違えば被っても問題ないと認識しています。。。
>
> > こちらの勘違いもあるかもしれませんが、不在着信通知を消す方法をご教授頂けないでしょうか?
> > ご多用の所大変恐縮ですが、よろしくお願い致します。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -
Reply all
Reply to author
Forward
0 new messages