在我的removeAllObjects
应用程序中,我想在用户点击按钮时自动拨打电话。我已使用以下代码集来实现此功能
Android
并在我的Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:911"));
startActivity(intent);
我也添加了此AndroidManifest.xml
权限。
但它只是用给定的<uses-permission android:name="android.permission.CALL_PHONE" />
号打开拨号盘,而不是拨打电话。
答案 0 :(得分:8)
至少在美国,911是紧急号码。 CALL_PHONE
不足以拨打该号码。有一个单独的权限(CALL_PRIVILEGED
?),一个普通SDK应用程序无法持有的权限。
更新:我没记错。以下是该权限的Android 6.0平台清单条目:
<!-- @SystemApi Allows an application to call any phone number, including emergency
numbers, without going through the Dialer user interface for the user
to confirm the call being placed.
<p>Not for use by third-party applications. -->
<permission android:name="android.permission.CALL_PRIVILEGED"
android:protectionLevel="signature|privileged" />
答案 1 :(得分:0)
您必须在应用权限中设置电话为真。
答案 2 :(得分:-1)
请尝试使用Intent.ACTION_DIAL
。这是我使用的代码,它运行良好:
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);
callIntent.setData(Uri.parse("tel://911"));
startActivity(callIntent);
通过添加FLAG_ACTIVITY_NO_USER_ACTION进行了更新。测试它,看它是否有效。我在你身上看到你的Manifest的许可部分。请考虑包含您的整个清单文件,以便我们可以看到一切正常。
答案 3 :(得分:-1)
我也有同样的问题。 最有可能的原因可能是我们的设备授予该应用程序的权限,然后它可能会起作用。只需转到设置并授予&#34; 电话&#34;的权限。