【发布时间】:2016-05-19 21:20:37
【问题描述】:
由于某种原因,ACTION_CALL 在我的应用程序中不起作用。我已将权限添加到清单中:
<uses-permission android:name="android.permission.CALL_PHONE" />
这是我从主要活动中调用 action_call 的地方:
case R.id.button2:
intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:(+44)12345678900"));
if(ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){
Toast.makeText(this, "No permission to call!", Toast.LENGTH_SHORT).show();
return;
}
startActivity(intent);
break;
每次显示吐司并且不叫号码。任何帮助,将不胜感激! :)
清单代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.adamw_000.lab_1_intents" >
<uses-permission android:name="android.permission.CALL_PHONE" />
【问题讨论】:
-
请显示您呼叫
requestPermissions()的代码,以向用户请求此权限。另外,您确定您的<uses-permission>元素位于清单中的正确位置吗?顺便说一句,我建议删除tel:字符串中的空格,因为这可能会使拨号器感到困惑,当你到达那个点时。 -
已删除空格并添加清单权限的代码,我不调用请求权限,因为权限已在清单中给出
-
“我不调用请求权限,因为清单中已经给出了权限”——那是你的错误。调用
checkSelfPermission()的目的是查看用户是否授予了权限。在 Android 6.0 上,如果您的targetSdkVersion为 23 或更高,您确实不会自动获得此权限并需要请求它。有关详细信息,请参阅重复的问题。 -
我正在使用 api 22 编辑:nvm 我知道你在欢呼中要去哪里
标签: java android android-manifest android-permissions