gpt4 book ai didi

android - 获取客户从标准拨号盘调用的号码

转载 作者:行者123 更新时间:2023-11-29 14:52:28 29 4
gpt4 key购买 nike

我尝试使用该代码从标准拨号盘接听电话:

        <action android:name="android.intent.action.CALL" />
<data android:scheme="tel" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.CALL_PRIVILEGED" />
</intent-filter>


</activity>

一切正常,当用户从标准电话拨号盘拨号时,我的应用程序打开了。但我没有找到解决方案,我如何获得电话号码,调用了哪个用户。 PhonePadActivity Activity onCreate block 中的代码:

Intent intent = getIntent();

String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(this, "Call was made to-->>" + number, 5000).show();

最后给了我一个 null :(

尝试使用广播接收器:

在 list 中:

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

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

这是 DialBroadcastReceiver 类:

package com.myapps.android;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class DialBroadcastReceiver extends BroadcastReceiver {
private static final String THIS_FILE = "PhonePadActivity";

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e(THIS_FILE,"In onReceive()");

if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

Log.e(THIS_FILE,"Number is: "+number);

}
}

}

但当用户按下拨号时,日志点头触发

最佳答案

这对我有用:

在 list 中:

<intent-filter>
<action android:name="android.intent.action.CALL"/>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.CALL_PRIVILEGED"/>
<data android:scheme="tel"/>
</intent-filter>

在 Activity 中:

String inputURI = this.getIntent().getDataString();
if (inputURI != null) {
Uri uri = Uri.parse(Uri.decode(inputURI));
if (uri.getScheme().equals("tel")) {
String calledNumber = uri.toString();
}
}

关于android - 获取客户从标准拨号盘调用的号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089794/

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