着信/発信コールの開始/終了を処理するにはどうすればよいですか?着信/発信コールの開始/終了を処理する方法
言い換えれば、「着信/発信通話が開始/終了している瞬間をキャッチする」(時からまでの時間を応答とハングアップ)、ログに書き込んでください。
Androidバージョンは2.3です。
着信/発信コールの開始/終了を処理するにはどうすればよいですか?着信/発信コールの開始/終了を処理する方法
言い換えれば、「着信/発信通話が開始/終了している瞬間をキャッチする」(時からまでの時間を応答とハングアップ)、ログに書き込んでください。
Androidバージョンは2.3です。
「ハンドル」とはどういう意味ですか?意図?発信と着信:あなたは2つのBroadcastReceiverクラスを持っています見ることができるよう、
ので<receiver android:name=".Outgoing">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
<receiver android:name=".Incoming">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>
:
は、マニフェストXMLの次の行に追加: -
OKここにはどのようにあります。
public class Outgoing extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, LogService.class));
}
}
(私はcontext.startServiceを使用している理由ですので、私はこのクラスから自分のサービスを開始しています...)
ここにあります:ここで
はOutgoing.javaですIncoming.java:
public class Incoming extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if(null == bundle)
return;
String state = bundle.getString(TelephonyManager.EXTRA_STATE);
if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
context.startService(new Intent(context, LogService.class));
}
}
}
私はジンジャーブレッドとフロイでこれを使用しており、正常に動作しています。
[TelephonyManager?](http://developer.android.com/reference/android/telephony/TelephonyManager.html) – m0skit0