当用户开始拨打电话时,android 会提出选择,可以使用哪个应用程序拨打电话(如 Skype)。简单的问题 - 我的应用程序如何在该列表中以及我如何获取号码,哪个用户被放入系统拨号器?
我做了一个所有问题,这在两个答案中都有建议,但是,如果客户在电话拨号盘上按下呼叫,我仍然看到:
拨打电话: - Skype - 电话
并且列表中没有我的应用程序。
已编辑
现在该代码的问题已解决,现在我的应用程序在列表中并打开了:(错误>符号)
<activity
android:name=".PhonePadActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<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>
问题的第二部分 - 获取用户在标准拨号盘中拨打的电话号码,但仍未解决:
onCreated 中的代码:
Intent intent = getIntent();
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(this, "Call was made to-->>" + number, 5000).show();
给出空值。
第二版
上次我收到来自 Google 的通知,他们限制 CALL_PRIVILEGED(bcs 我们不支持他们的紧急呼叫。)如果没有 CALL_PRIVILEGED,我的应用程序不会再次出现在列表中。有人知道那件事的新解决方案吗?我现在正在与谷歌支持讨论这个问题,我们现在进行了一些迭代但没有成功。