إطلاق تطبيق Android مخصص من WebView

لدي ملف HTML يطلق تطبيقًا إذا فتحته في متصفح Android الأصلي ، ولكن عندما أحاول فتح التطبيق نفسه في WebView ، فلن يتمكن من تشغيل هذا التطبيق ، وتظهر "صفحة الويب غير متوفرة". أعتقد أن WebView غير قادر على التعامل مع المخطط "my.special.scheme: //" المحدد للتطبيق.

قرأت إطلاق تطبيق Android من المتصفح ، ولكن لا تغطية معلومات حول إطلاق تطبيق من WebView.

4

2 إجابة

صحيح أن الارتباطات مع مخطط URI مخصص لا يتم تحميل التطبيقات تلقائيًا من WebView.

ما عليك القيام به هو إضافة WebViewClient مخصصة إلى WebView الخاص بك:

webView.setWebViewClient(new CustomWebViewClient());

ثم في shouldOverrideUrlLoading() ، لديك التعليمة البرمجية التالية:

public boolean shouldOverrideUrlLoading(final WebView webView, final String url) {

    if (url.startsWith("my.special.scheme://")) {

        final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

       //The following flags launch the app outside the current app
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

        activity.startActivity(intent);

        return true;
    }  

    return false;
}
5
وأضاف

لست متأكدًا ، لكنني أعتقد أن WebView ببساطة لا يتعامل مع أنظمة URI المخصصة.

الحل هو تجاوز على WebViewClient.shouldOverrideUrlLoading() و اختبار يدويا إذا كان URL يستخدم مخطط URI الخاص بك، وإطلاق التطبيق الخاص بك وإعادة <�كود> صحيح </القانون> إذا كان يتطابق مع، والعودة خلاف ذلك <�كود> كاذبة </القانون> .

2
وأضاف
Android Sudan Community
Android Sudan Community
900 مشارك

كل اقتراحاتكم تتم مشاركتها هنا رابط القناة لتنزيل البرامج والالعاب من هنا @android_sudan تنبيه : القروب غير مختص إطلاقا بي الانترنت المجاني مثل ملفات الحاقن وماشابه يمنع منعا باتا نشر اي ملفات او برامج او اي شيء يتعلق بالانترنت المجان