電話着信に反応するアプリケーション

1,571 views
Skip to first unread message

EIN

unread,
Jan 13, 2009, 9:12:06 PM1/13/09
to 日本Androidの会
EINと申します。

Broadcast Intent Receiverで着信時に反応するアプリケーションを作りたいのですが、わかりません。

電話の着信を判定するにはどうしたらよいでしょうか?
ご指導よろしくお願いします。

Keiji Ariyama

unread,
Jan 13, 2009, 9:29:41 PM1/13/09
to android-g...@googlegroups.com
有山@大阪です。

> 電話の着信を判定するにはどうしたらよいでしょうか?
 僕は、TelephonyManagerのlisten(PhoneStateListener,
PhoneStateListener.LISTEN_CALL_STATE)で取っています。
 着信の発生時点で掛かってきた電話番号と、それが通話になったか不在着信か
の結果が判定できます。

 PhoneStateListnerはこんな感じです。

PhoneStateListener mListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String number) {

switch(state) {

case TelephonyManager.CALL_STATE_RINGING:
mState = STATE_RINGING;
mIncomingNumber = number;
break;

case TelephonyManager.CALL_STATE_OFFHOOK:
mState = STATE_OFFHOOK;
break;

case TelephonyManager.CALL_STATE_IDLE:
mState = STATE_NORMAL;
break;

};
}
};

 AndroidManifest.xmlに、READ_PHONE_STATEのパーミッションを設定するのを
お忘れなく。

--
Keiji,
ml_an...@c-lis.co.jp

EIN

unread,
Jan 13, 2009, 11:12:35 PM1/13/09
to 日本Androidの会
有山@大阪さんありがとうございます。
早速試してみます。

EIN

unread,
Jan 14, 2009, 9:38:43 PM1/14/09
to 日本Androidの会
有山@大阪さんありがとうございます。
無事に着信判定を取ることができました。

>  着信の発生時点で掛かってきた電話番号と、それが通話になったか不在着信か
> の結果が判定できます。

通話になったか不在着信かの判定も教えてもらえないでしょうか?

Keiji Ariyama

unread,
Jan 15, 2009, 1:57:01 AM1/15/09
to android-g...@googlegroups.com
EINさん

 有山@大阪です。

> > 通話になったか不在着信かの判定も教えてもらえないでしょうか?
 おっと、EINさんはもしかして学生さんですか?

 あんまり全部言ってしまうと考える事が無くなって面白くないと思うので、
ヒントだけ書いておきます(Androidの話というよりは、至極単純なプログラム
の話になってくるので……)

・着信→切断
・着信→通話→切断

 通話のパターンと、不在着信のパターンで、onCallStateChangedが受け取る
状態がどのように変わるかを確認してみましょう。

--
Keiji

EIN

unread,
Jan 15, 2009, 7:24:43 AM1/15/09
to 日本Androidの会
有山@大阪 さん

>  おっと、EINさんはもしかして学生さんですか?
 はい、ITの専門学校に通ってます。そこで、javaを習ってます。

> ヒントだけ書いておきます(Androidの話というよりは、至極単純なプログラム
> の話になってくるので……)
 そういうクラスやメソッドとかがあるわけじゃないんですね。

>  通話のパターンと、不在着信のパターンで、onCallStateChangedが受け取る
> 状態がどのように変わるかを確認してみましょう。
 確認してみました。

> ・着信→切断
RINGING → IDLE
> ・着信→通話→切断
RINGING → RINGING → IDLE

通話状態の特別な状態はなく、RINGINGがもう一度よばれるってことであってますか?



EIN

unread,
Jan 15, 2009, 7:54:25 AM1/15/09
to 日本Androidの会
さっきの間違ってました

> > ・着信→切断
> RINGING → IDLE
> > ・着信→通話→切断
>
> RINGING → OFFHOOK → IDLE
>
OFFHOOKになりますね。

Keiji Ariyama

unread,
Jan 15, 2009, 8:00:45 AM1/15/09
to android-g...@googlegroups.com
EINさん

 有山@大阪です。

> 通話状態の特別な状態はなく、RINGINGがもう一度よばれるってことであって
ますか?
 AndroidのAPIの話から逸れて、スレッドが長くなって皆さんに迷惑をかけては
いけないので、このメールに続いて、直接メールしますね。

--
Keiji Ariyama
Reply all
Reply to author
Forward
0 new messages