Можно ли с помощью прогрессивного веб-приложения получить номер телефона мобильного телефона? - PullRequest
0 голосов
/ 03 июля 2018

Могу ли я получить номер мобильного телефона с помощью Progressive Web App? Я предполагаю, что определенно нет - но, может быть, если веб-браузер может запросить у пользователя доступ, он может дать браузеру доступ к номеру мобильного телефона?

Этот вопрос специально для телефонов Android.

Если бы на веб-странице могла быть просто кнопка с надписью «Скопировать номер телефона» и она могла бы заполнить соответствующее поле номером телефона пользователя, это было бы замечательно.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Было бы действительно здорово, но PWS не взаимодействует с информацией о владельце, вы можете запускать различные события, которые могут требовать разрешения, когда дело касается камеры, местоположения и почти любых «инвазивных» функций, которые могут взаимодействовать с оборудованием и верхним уровнем насколько мне известно, архитектура программного обеспечения, но только собственные приложения обладают способностями взаимодействовать с пользовательской информацией, контактами и т. д .;

Вы можете создать модал, чтобы постоянно нажимать на человека за номер, когда его нет, или создать мастер настройки для запуска при запуске, для которого потребуется номер телефона; но программный доступ к устройству и получение номера в приложении PWS / на веб-сайте практически невозможен по очевидным причинам безопасности.

0 голосов
/ 03 июля 2018

вы можете реализовать JavascriptInterface на Android.

посмотрите на этот ответ.

https://es.stackoverflow.com/questions/127574/javascript-interface-android-webview-call-java-function-from-js-onclick

основываясь на этом, вы можете создать код, подобный приведенному ниже:

JavaScriptInterface jsInterface = new JavaScriptInterface();
myWebView.addJavascriptInterface(jsInterface, "Android");

Ваш метод и на основе этого другого вопроса:

Программно получить номер телефона телефона Android

public class JavaScriptInterface {

    @JavascriptInterface
    public void getPhoneNumber() {
     // Code to get phone number on android
     TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
     String phoneNumber = tMgr.getLine1Number();

    }

}

В сети:

<a href="#" onclick="getPhoneNumber()">getMyNumber</a>

Вы также можете отправить ответ на веб-просмотр. см. этот урок это в Koltin, но если вам нужно сделать это, вы можете написать это на Java.

https://medium.com/@elye.project/making-android-interacting-with-web-app-921be14f99d8

Основываясь на этом, вы можете создать такой код:

myWebView.loadUrl("javascript: " +"returnPhoneNumber(\"" + phoneNumber + "\")", null);

вам понадобится функция в js под названием "returnPhoneNumber"

Не забудьте указать разрешение в манифесте:

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

если вы используете более новую версию Android, вам необходимо реализовать запрос на получение разрешения. Надеюсь, это поможет.

...