我希望我的android应用程序在手机接到电话时启动,并获取来电号码



我希望我的android应用程序在手机接到电话时启动,并获取来电号码,我可以在来电屏幕上放置什么按钮,在此之前,我可以获得电话号码,这将非常有帮助,任何人都可以向我介绍一些例子或材料。thx

您可以在AndroidManifet.xml中设置broadcastlistener您必须设置侦听android.intent.action.PHONE_STATE的意图然后使用intent.getExtraString(TelephonyManager.EXTRA_STATE)从意图中获取电话状态。如果是OFFHOOKRINGING,则来电,您可以使用intent.getExtraString(TelephonyManager.EXTRA_INCOMING_NUMBER)从意图中获取电话号码

这将吐司并记录输入数。。。

public class CallReceiveD extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub

Bundle extras = intent.getExtras();
if (extras != null) {
String state = extras.getString(TelephonyManager.EXTRA_STATE);
Log.w("DEBUG", state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
String phoneNumber = extras
.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);

Toast toast= Toast.makeText(context,phoneNumber, Toast.LENGTH_LONG);toast.show();
Log.w("DEBUG", phoneNumber);
}
}

}
}

不要忘记清单文件<接受者android:name=".CallReceiveD"><action android:name="android.intent.action.PHONE_STATE"/>

</intent-filter>
</receiver>

最新更新