【问题标题】:Android ACTION_CALL not working [duplicate]Android ACTION_CALL 不起作用[重复]
【发布时间】: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()的代码,以向用户请求此权限。另外,您确定您的 &lt;uses-permission&gt; 元素位于清单中的正确位置吗?顺便说一句,我建议删除tel: 字符串中的空格,因为这可能会使拨号器感到困惑,当你到达那个点时。
  • 已删除空格并添加清单权限的代码,我不调用请求权限,因为权限已在清单中给出
  • “我不调用请求权限,因为清单中已经给出了权限”——那是你的错误。调用checkSelfPermission() 的目的是查看用户是否授予了权限。在 Android 6.0 上,如果您的 targetSdkVersion 为 23 或更高,您确实不会自动获得此权限并需要请求它。有关详细信息,请参阅重复的问题。
  • 我正在使用 api 22 编辑:nvm 我知道你在欢呼中要去哪里

标签: java android android-manifest android-permissions


【解决方案1】:

也许您应该将startActivity() 添加为

startActivity(intent);

编辑

我使用了这个代码:

intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel: (+44)12345678900"));
startActivity(intent);

而且效果很好……

试试这个,它对我也很有效,但它正在使用ACTION_DIAL

public static Intent newPhoneCallIntent(String phoneNumber){
    Intent callintent = new Intent(Intent.ACTION_DIAL);
    callintent.setData(Uri.parse("tel:"+phoneNumber));
    return callintent;
}

在您的Button 中添加:startActivity(newPhoneCallIntent("(+44)12345678900"));

【讨论】:

  • 哎呀我的错!复制时已经在那里错过了那行现在添加它
  • @AdamW95 请看我的编辑
  • 问题是用户必须授予 api 23+ 的权限,不过谢谢 :)
  • @AdamW95 所以我的回答对你没有帮助?我删除答案还是你接受?
  • @AdamW95 你可以在这里写一个详细的解决方案作为答案。它会帮助很多人
猜你喜欢
  • 2015-09-04
  • 1970-01-01
  • 2015-08-05
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多