国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android操作Html打開其他APP

2019-12-12 05:45:22
字體:
供稿:網(wǎng)友

現(xiàn)在Android程序員是越來越多,甚至在部分地區(qū)出現(xiàn)供大于求的局面,從大背景來看,Android的生態(tài)鏈會(huì)漸漸的趨于理智,并且會(huì)不斷的更新人才以及開發(fā)工具,前幾年的eclipse異常火爆,現(xiàn)在Android studio憑借著良好的體驗(yàn),已經(jīng)有越來越多的人轉(zhuǎn)戰(zhàn)到Android studio里面進(jìn)行開發(fā),所以這也是一個(gè)多樣性的體現(xiàn),廢話了這么多,我想要表達(dá)的是,人多不是問題,重要的是自己有這個(gè)能力去勝任這份工作,不停的學(xué)習(xí)新技術(shù),更新自己。

現(xiàn)在我們講講,怎么在Html中打開手機(jī)里面的APP,這個(gè)需求現(xiàn)在使用的也是越來越廣泛了,比如淘寶、支付寶的支付等等,都是使用到了這個(gè)功能,但是到底怎么去實(shí)現(xiàn)呢,我這里就使用webview來模擬這樣的一個(gè)功能,首先看看html里面代碼:

<!DOCTYPE HTML> <html>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <body>  <a href="xiaopinggaiblog://xiappinggai/open">打開app</a><br/></body> </html>

對(duì)的,你沒有看錯(cuò),就這么幾行代碼,沒有用到 js,也沒有使用到css,(/a)標(biāo)簽是一個(gè)超鏈接標(biāo)簽,這個(gè)相信有點(diǎn)基礎(chǔ)的人是看得懂的,重要的是看看這個(gè)超鏈接里面的內(nèi)容:xiaopinggaiblog://xiappinggai/open,這個(gè)是我自己自定義的,先看看我們要打開的應(yīng)用程序的注冊(cè)文件里面的寫法:

<activity      android:name=".MainActivity"      android:excludeFromRecents="true"      android:label="@string/app_name"      android:screenOrientation="portrait" >      <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" />        <category android:name="android.intent.category.BROWSABLE" />        <category android:name="android.intent.category.DEFAULT" />        <data          android:pathPrefix="/xiappinggai/open"          android:scheme="xiaopinggaiblog" />      </intent-filter>    </activity>

我這里模擬的是打開另外一個(gè)程序的主界面,看到下面的一個(gè)意圖過濾器,這里有一個(gè)< data/>標(biāo)簽,這個(gè)標(biāo)簽里面的內(nèi)容:

<data android:pathPrefix="/xiappinggai/open"
     android:scheme="xiaopinggaiblog" />

PathPrefix屬性只指定了部分路徑,它會(huì)跟Intent對(duì)象中的路徑初始部分匹配。
scheme屬性用于設(shè)定URI的scheme部分。它是給指定URI設(shè)置的最基本的屬性,至少要給過濾器設(shè)置一個(gè)scheme屬性,否則,其他的URI屬性就沒有意義了。

這要這么配置,那就可以完美的打開其他APP了,同時(shí),有的瀏覽器也支持這個(gè)功能,假如在測(cè)試的時(shí)候出現(xiàn)不能打開的情況,那么可以考慮換一個(gè)瀏覽器測(cè)試。

接下來,我們?cè)倏纯丛趺磦鲾?shù)據(jù)到那個(gè)應(yīng)用程序呢?其實(shí)也不難,只需要改一下url就行了:具體如下:

xiaopinggaiblog://xiappinggai/open?data=xiaopinggaiblog

如果要穿多個(gè)參數(shù)呢?其實(shí)也是可以的,可以用&符號(hào)去連接,這么寫:

xiaopinggaiblog://xiappinggai/open?data=xiaopinggaiblog&arga=value

那么在那個(gè)應(yīng)用程序怎么接收呢,其實(shí)也是幾行代碼的事,我們?cè)谝邮諗?shù)據(jù)的Activity里面這樣寫:

   Uri uridata = this.getIntent().getData();      if (uridata!=null) {        String mydata = uridata.getQueryParameter("data");      }

這樣寫就可以獲取到數(shù)據(jù)了,但是還有一個(gè)問題,當(dāng)要打開的APP沒有安裝,那這個(gè)時(shí)候點(diǎn)擊打開APP會(huì)出現(xiàn)錯(cuò)誤,這樣就很影響交互體驗(yàn)了,因此我們可以這么做:

mWeb.setWebViewClient(new WebViewClient(){      @Override      public void onReceivedError(WebView view, int errorCode,          String description, String failingUrl) {        mWeb.loadUrl("file:///android_asset/html2.html");        Toast.makeText(MainActivity.this, "沒有這個(gè)APP", 0).show();      }    });

這樣做就可以,這是在網(wǎng)頁加載失敗的時(shí)候執(zhí)行的操作。我們除了可以這樣提示,我們也可以讓他跳轉(zhuǎn)到App的下載地址等一系列自己想要的操作。

好了,全部代碼都在這里了。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 礼泉县| 惠东县| 南京市| 抚远县| 新巴尔虎左旗| 德清县| 莫力| 建阳市| 行唐县| 舟山市| 水城县| 论坛| 溧阳市| 孟津县| 枣阳市| 玉龙| 商洛市| 忻城县| 永善县| 随州市| 安吉县| 兴国县| 建昌县| 丰原市| 延津县| 阜平县| 社旗县| 永德县| 连江县| 厦门市| 临猗县| 巴林右旗| 昌吉市| 永修县| 绩溪县| 黎城县| 柳州市| 南宫市| 新晃| 萨嘎县| 基隆市|