gpt4 book ai didi

android - 如何获取通话中的电话号码

转载 作者:搜寻专家 更新时间:2023-11-01 09:09:20 25 4
gpt4 key购买 nike

我使用“startActivity(callintent)”启动“Activity”并等待一段时间。然后我需要用“onReceive()”停止通话。在此“onReceive()”方法中,我如何获取现有的正在进行的通话电话号码?

@Override
public void onReceive(Context context, Intent intent) {
String oldnumber = intent.getStringExtra(intent.ACTION_NEW_OUTGOING_CALL);
String newphnumber="9999999999";
if ((newphnumber1=null) &&(newphnumber!=oldnumber)) {
String msg = "Intercepted outgoing call. Old :" + oldnumber +
", new :" + newPhNnumber;
Toast.makeText(getApplicationContext(), "end call", Toast.LENGTH_SHORT).
show();
setResultData(newphnumber);
}
}

这里的oldnumber表示已经激活的去电号码(单呼正在进行)。我怎样才能得到它?

最佳答案

我们可以使用 BroadcastReceiver 轻松获取正在进行的调用号码。在您的 BroadcastReceiver 类 onReceive 函数中,您必须编写如下代码,

if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER).toString();
Log.w("", "Number---->"+number);
Toast.makeText(context, "Intent Received", Toast.LENGTH_LONG).show();
}

在你的 Activity 类中

MReciever mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mReceiver = new MReciever();
IntentFilter filter = new IntentFilter(Intent.ACTION_NEW_OUTGOING_CALL);
registerReceiver(mReceiver, filter);
}

protected void onDestroy() {
unregisterReceiver(mReceiver);
};

并且在您的 Android list 文件中,您必须将接收器声明为

<receiver android:name=".YourReceiverClass" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>

我想这对你有帮助。

关于android - 如何获取通话中的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com