【问题标题】:Calling contact WITHOUT any permissions在没有任何权限的情况下呼叫联系人
【发布时间】:2016-02-06 18:32:39
【问题描述】:

我正在使用以下函数拨打号码:

private static void startCall(Context context, String phoneNumber)
{
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    callIntent.setData(Uri.parse("tel:" + phoneNumber));
    context.startActivity(callIntent);
}

Android Studio 最近告诉我这可能会因为缺少权限而失败。我想,这种方式在任何没有权限的设备上都是可能的......

那么我怎样才能使上述解决方案也能在 android 6 上运行呢?我只是想让应用打开一个已安装的手机应用,我不希望我的应用直接给某人打电话

【问题讨论】:

    标签: android android-intent permissions


    【解决方案1】:

    我想,这种方式可以在任何没有权限的设备上使用

    没有。

    我只想让应用打开一个已安装的手机应用,我不希望我的应用直接呼叫某人

    那么ACTION_CALL 最初是错误的解决方案。 ACTION_DIAL 可以在没有权限的情况下使用,它会启动设备拨号器应用程序,并填写您提供的电话号码。

    【讨论】:

    • 谢谢。对于短信,我必须使用 ACTION_SEND 和 `callIntent.setData(Uri.parse("sms:" + phoneNumber));` 以避免警告和任何问题,对吗?
    • @prom85:我不确定“警告”是什么。 ACTION_SEND 不使用 Uri。对于 SMS,您可能需要 ACTION_SENDTOsmsto: Uri
    • 警告是关于缺少权限和可能因此引发的SecurityException。谢谢
    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 2011-09-28
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    相关资源
    最近更新 更多