java - Android ACTION_CALL 不工作

标签 java android android-manifest android-permissions

<分区>

出于某种原因,ACTION_CALL 在我的应用中不起作用。我已将权限添加到 list 中:

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

这是我从我的主要 Activity 中调用 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;

每次 toast 显示,不叫号码。任何帮助,将不胜感激! :)

list 代码:

<?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" />

最佳答案

也许你应该将 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"));

关于java - Android ACTION_CALL 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35299692/

相关文章:

java - 通过 HttpURLConnection 的 JSON POST 数据

java - 在docx4j-Java中设置A5页面大小

java - Thread.sleep() 是否不让其他线程运行?

java - 如何动态获取系统最新时区?

java - 如何从 arraylist 中的 strings.xml 调用字符串

android - 相对布局内的表格布局

android - 是否可以通过 Admob 调解 Millennial Media

java - 无法删除标题栏 Android 应用程序

android - 失败 INSTALL PARSE FAILED MANIFEST MALFORMED

java - 一个 Android 应用程序、一个启动 View 、两个图标