Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 短信息中找不到号码,电话中找不到正确号码_Android - Fatal编程技术网

Android 短信息中找不到号码,电话中找不到正确号码

Android 短信息中找不到号码,电话中找不到正确号码,android,Android,我在WebView中尝试过电话和短信。点击后,若我得到包含电话的URL,那个么我将打开电话的呼叫实用程序。然后我得到一个数字,后面跟着字符“N”。 一个在短信:我得到手机短信实用程序,但没有号码。在两个URL中,都有一个URL编号 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { result = false; // for telephone

我在WebView中尝试过电话和短信。点击后,若我得到包含电话的URL,那个么我将打开电话的呼叫实用程序。然后我得到一个数字,后面跟着字符“N”。 一个在短信:我得到手机短信实用程序,但没有号码。在两个URL中,都有一个URL编号

@Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        result = false;
        // for telephone
        if (url.contains("tel:")) {
            view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            result = true;
        }



        // for SMS or message.
        if (url.contains("sms:")) {
            view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            result = true;
        }
        Log.d(TAG, url);
        return result;

    }

我认为这个问题最可能的原因是你的url不正确。所以你最好在logcat上查一下。url应该是
tel:xxxxxxx
而不是其他任何内容。此外,您的代码中有几处不正确

首先,当url以“
tel:
”开头时,您应该使用
ACTION\u CALL
ACTION\u DIAL
而不是
ACTION\u VIEW
。因为在电话应用程序中没有包含带有
ACTION\u VIEW
和数据模式tel的意图过滤器的组件

第二,您应该验证url是否为startsWith
tel:
sms:
,而不仅仅包含

例如:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
    result = false;
    // for telephone
    if (url.startsWith("tel:")) {
        view.getContext().startActivity(
                new Intent(Intent.ACTION_CALL, Uri.parse(url)));
        result = true;
    }



    // for SMS or message.
    if (url.startsWith("sms:")) {
        view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
        result = true;
    }
    Log.d(TAG, url);
    return result;

}