91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android模仿支付寶網頁啟動APP或下載

發布時間:2020-05-08 02:23:40 來源:網絡 閱讀:1415 作者:guozhendan 欄目:移動開發

    最近在做項目中需要實現網頁啟動手機中的客戶端,如果手機中未裝客戶端則提示用戶下載。這個技術關鍵點是用到了scheme,結合參考支付寶的實現方式,方法如下:

一、網頁中相關代碼如下:

<html>

    <head>

        <script>

            function open(){

                window.location='abc://192.168.0.14:8080/test/app/test.apk';

            }

        </script>

    </head>


    <body onload="open()">

        <a >下載</a>

    </body>

</html>


二、Android中的AndroidManifest.xml要啟動的Activity添加如下代碼:

<intent-filter>

    <action android:name="android.intent.action.VIEW"/> 

    <category android:name="android.intent.category.BROWSABLE"/> 

    <category android:name="android.intent.category.DEFAULT"/> 

    <data 

        android:scheme="abc"

        android:host="192.168.0.14" /> 

</intent-filter>


插個曲:上面網頁中命名的abc與AndroidManifest.xml中的abc必須要一致,當然了,可以改成你喜歡的名稱。其次,如果你不想精準匹配的話,AndroidManifest.xml中的<data/>中只需要android:scheme="abc"就行了;如果想精確匹配,那么你就需要寫更詳細一點,比如:android:host、android:port、android:path。


    以上就實現了模仿支付寶的網頁啟動與下載功能,大家可以嘗試一下。有一點要注意,scheme不能是http,瀏覽器遇到http時,是不會發intent給外界了。具體原理大家就百度一下吧,我這里就不說了,說的不好反而誤導你們了,呵呵。


    除了上面模仿支付寶的方法外,還有一種方法,就是通過控件WebView來實現,當然了只有自己的應用中的WebView才會實現我們想要的功能,因為要加代碼稍作改動的,別人的應用應該不會幫你去實現吧?

    在自己的應用中使用WebView來實現的話,會更加完美,可以做到用僅用一個下載按鈕來實現啟動或下載(若手機中安裝了應用,點擊下載就會直接啟動應用,而不是去下載應用;若手機中沒有安裝應用,則點擊下載就會真的去下載應用了)。實現方法是在WebView中設置自定義的WebViewClient,重寫shouldOverrideUrlLoading (WebView view, String url) ,監測url是否符合約定,如符合約定,則啟動客戶端,求例代碼如下:

if(url.contains("abc"))

{

    try

    {

        Uri uri = Uri.parse("abc://192.168.0.14:8080/test/app/test.apk");

        Intent intent = new Intent(Intent.ACTION_VIEW, uri);

        startActivity(intent);

    }

    catch(Exception e)

    {

        //啟動失敗

        StringBuffer sb = new StringBuffer(url);

        sb.replace(0, 11, "http");

 

        Uri uri = Uri.parse(sb.toString()); 

        Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

        startActivity(intent);

             

        return true;

    }

}


相信大家都能看懂吧?再不懂就留言吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

廉江市| 美姑县| 乌什县| 汝阳县| 中方县| 黄冈市| 利津县| 长春市| 四子王旗| 延寿县| 卓资县| 磴口县| 三原县| 礼泉县| 河南省| 长白| 清流县| 扎囊县| 宝清县| 嘉黎县| 阿鲁科尔沁旗| 沙洋县| 金华市| 岑巩县| 互助| 西林县| 泾阳县| 翼城县| 松溪县| 丹江口市| 泰安市| 越西县| 湛江市| 怀集县| 巴南区| 保康县| 巴彦县| 云林县| 南宁市| 鹤岗市| 来宾市|