android as呼起APP協議

最近在項目開發中,遇到需要提供呼氣APP協議的需求,很不想拆穿自己的lower,當時想了很久什麼是呼氣APP協議,百度下,最後,哎系,就是scheme,總結下,避免下次繼續懵逼。

作用

客戶端應用可以向操作系統註冊一個 URL scheme,該 scheme 用於從瀏覽器或其他應用中啓動本應用。通過指定的 URL 字段,可以讓應用在被調起後直接打開某些特定頁面,比如車輛詳情頁、訂單詳情頁、消息通知頁、促銷廣告頁等等。也可以執行某些指定動作,如訂單支付等。也可以在應用內通過 html 頁來直接調用顯示 app 內的某個頁面。

如何實現:

<!--用來測試協議的配置-->
        <activity
            android:name=".ui.mywrite.JumpActivity"
            android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />

                <data
                    android:scheme="xxxxx"
                    android:host="hhhh">
                </data>
            </intent-filter>
        </activity>

其中

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

上面代碼爲html提供了跳轉支持,如果不寫這句話,是html調用不起我們的app的。

下面爲html打開上圖的應用界面代碼,代碼如下:

window.location.href='xxxxx://hhhh';

當然這個地址也需要遵循一定的規則,規則如下:

客戶端自定義的 URL 作爲從一個應用調用另一個的基礎,遵循 RFC 1808 (Relative Uniform Resource Locators) 標準。這跟我們常見的網頁內容 URL 格式一樣。

我們在實際使用中以需要以下的方法:

1)獲得Scheme名稱

this.getIntent().getScheme();//獲得Scheme名稱  

2)獲得URl全部路徑

this.getIntent().getDataString();//獲得Uri全部路徑 

3)APP調用呼氣協議

Intent intent = new Intent(Intent.ACTION_VIEW,"xxxxx://hhhh");
this.startActivityForResult(intent, 0);

希望本片文章對你有用

發佈了64 篇原創文章 · 獲贊 48 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章