android網頁調起app並且傳參, 網頁點選高速下載跳轉app
阿新 • • 發佈:2019-01-24
我們有時候需要用到在自己的網站上點選高速下載,然後把引數傳到自己的app裡面進行下載。或者在別人的網站點選下載的時候調起我們的app作為下載器進行下載。那麼具體怎麼實現呢?我們分兩種情況:
一、自己的網站傳參到自己的app並且進行下載
這種情況只需要約定一個共同的scheme便可以實現調起,比如載安卓端
<activity android:name=".activities.WelcomeActivity" android:screenOrientation="portrait" android:theme="@style/SplashTheme" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <categoryandroid:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="webinterface"/> </intent-filter> </activity>
網頁端只需要添加個超連結<a href="[scheme]://[host]/[path]?[query]">啟動應用程式</a> ,scheme就是和安卓端一樣的標識,host和path可以隨便填。query就是網頁端要傳到app端的引數。比如我要傳的引數是 id = 1, name = "test"那麼網頁端的程式碼就是
<a href="webinterface://host/path?id = 1&name=test">啟動應用程式</a>
安卓端的接收資料程式碼就是,在android:name=".activities.WelcomeActivity"這個activity裡面接收引數
Uri uri = getIntent().getData(); String id = uri.getQueryParameter("id"); Stirng name = uri.getQueryParameter("name");
這樣第一種情況就完成了。
二、第二種情況,在別人的網站點選下載的時候調起我們的app作為下載器進行下載。
這種情況下就不是自定義scheme標識了,有一個固定的標識
<data android:scheme="http"/> <data android:scheme="https"/>
新增方法同上,只是標識不一樣。接受引數也不一樣,這個時候安卓端的就收引數的方法是
String url = getIntent().getData() + "";我們能接收到的只有一個網址