整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Android 從網(wǎng)頁中跳轉(zhuǎn)到APP,從微信打開自己

          Android 從網(wǎng)頁中跳轉(zhuǎn)到APP,從微信打開自己的app并打開指定頁面

          說實現(xiàn)步驟再說原理:

          使用步驟

          一,首先要給你要打開的應(yīng)用中的activity設(shè)置過濾器(在清單文件里設(shè)置)

          以JumpActivity為例

          如下面的: <intent-filter> 中就是所需過濾器

          <activity android:name=".JumpActivity" > 
           <intent-filter> 
           <action android:name="android.intent.action.VIEW" /> 
           <category android:name="android.intent.category.DEFAULT" /> 
           <category android:name="android.intent.category.BROWSABLE" /> 
          		<!--下面所設(shè)置的質(zhì)需要和html端對調(diào)-->
          		<!--在data里設(shè)置了 scheme和host,則該Activity可以接收和處理類似于 "sharetest://data/XXX"的鏈接-->
           <data 
           android:host="data" 
           android:scheme="sharetest" /> 
           </intent-filter> 
          </activity> 
           
          

          二,在JumpActivity中做打開后的處理,用來接收外部的跳轉(zhuǎn)

          public class JumpActivity extends Activity{ 
           @Override 
           protected void onCreate(Bundle savedInstanceState) { 
           // TODO Auto-generated method stub 
           super.onCreate(savedInstanceState); 
          		
           Intent intent=getIntent();//在這個Activity里,我們可以通過getIntent(),來獲取外部跳轉(zhuǎn)傳過來的信息。
           String data=intent.getDataString();//接收到網(wǎng)頁傳過來的數(shù)據(jù):sharetest://data/http://www.huxiu.com/
           String[] split=data.split("data/");//以data/切割data字符串
           url=split[1]; //就得到:http://www.huxiu.com/(這就是我們需要網(wǎng)頁傳給我們的數(shù)據(jù))
          		。。。然后我們再通過網(wǎng)頁打開app的同時就可以用獲得的url數(shù)據(jù)做一些我們需要做的處理
          		比如你在微信里瀏覽網(wǎng)頁時打開自己的安卓app應(yīng)用的同時,加載一個app內(nèi)的網(wǎng)頁
           } 
           
          } 
          

          三,我們需要找到html前端,讓他們在網(wǎng)頁中加入:

          <iframe src="" style="display:none"></iframe>
          如下:index.html
          <!DOCTYPE html> 
          	<html> 
          	<body> 
          	<iframe src="sharetest://data/http://www.huxiu.com/" style="display:none"></iframe> 
          	</body> 
          	</html> 
          將index.html放到Assets目錄下,在代碼里調(diào)用Webview加載該Html文件,代碼如下:
          /*網(wǎng)頁打開app*/
          public class H5ToAppActivity extends Activity {
           private String url;
           private WebView webview;
           
           
           @Override
           protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_h5_app);
           
           
           webview=(WebView) findViewById(R.id.webviewh5);
           url="file:///android_asset/index.html";
           
           
           WebSettings wSet=webview.getSettings();
           wSet.setJavaScriptEnabled(true);
           webview.loadUrl(url);
           }
          }
          

          這樣執(zhí)行以上代碼時就可以打開對應(yīng)的app了。

          比如我的2048是一個網(wǎng)頁,打開網(wǎng)頁的時候可以同時打開另外一個應(yīng)用

          下面是兩個應(yīng)用截圖你可以下載下來看下效果:(兩個應(yīng)用一起下)

          2048網(wǎng)頁演示apk:http://download.csdn.net/detail/qiushi_1990/9514778

          網(wǎng)頁打開的應(yīng)用apk:http://download.csdn.net/detail/qiushi_1990/9514779

          手機(jī)界面

          這樣在打開2048時會出現(xiàn)下面效果

          然后會跳轉(zhuǎn)到下面應(yīng)用

          跳轉(zhuǎn)成功

          實現(xiàn)原理

          最近,在使用QQ和微信等SDK來實現(xiàn)分享網(wǎng)頁的時候,發(fā)現(xiàn),SDK已經(jīng)為頁面跳轉(zhuǎn)回應(yīng)用提供了基本的數(shù)據(jù)支持。我們只需在應(yīng)用里和被分享的網(wǎng)頁進(jìn)行簡單的設(shè)置,即可實現(xiàn)此功能。

          那么我們先來看下網(wǎng)頁跳轉(zhuǎn)回應(yīng)用的實現(xiàn)原理。

          就Android平臺而言,URI主要分三個部分:scheme, authority and path。其中authority又分為host和port。格式如下:

          scheme://host:port/path

          舉個實際的例子:

          content://com.example.project:200/folder/subfolder/etc 
          \---------/ \---------------------------/ \---/ \--------------------------/ 
          scheme host port path 
           \--------------------------------/ 
           authority 
          
          //現(xiàn)在大家應(yīng)該知道data flag中那些屬性的含義了吧,看下data flag 
          <data android:host="string" 
           android:mimeType="string" 
           android:path="string" 
           android:pathPattern="string" 
           android:pathPrefix="string" 
           android:port="string" 
           android:scheme="string" /> 
          

          點擊微信和QQ分享跳轉(zhuǎn)到程序內(nèi)部的原理與此一致。

          寫在后面:

          由于微信在5.0.3以后就禁用了微信瀏覽器里打開別的app,所以上面的方法在微信里不能直接起作用。但是我們有補救方法,

          1,通過跳轉(zhuǎn)應(yīng)用寶,來判斷是否安裝應(yīng)用,如果安裝應(yīng)用寶會直接打開

          2,引導(dǎo)用戶在瀏覽器里打開當(dāng)前網(wǎng)頁,因為微信雖然禁止了android:scheme跳轉(zhuǎn),但是瀏覽器都是支持的。

          有任何關(guān)于編程的問題都可以私信我,我看到后會及時解答。

          編程小石頭,為分享干貨而生!據(jù)說,每個年輕上進(jìn),顏值又高的互聯(lián)網(wǎng)人都關(guān)注了編程小石頭。

          天和大家交流一下HtmlTextView的使用,HtmlTextView是一個開源的原生安卓第三方控件,主要的用途是直接把web端的html內(nèi)容解析后展示在安卓手機(jī)上。應(yīng)用場景很多,比如很多新聞類APP在web端編輯入庫后是html的格式,這時候如果想顯示在手機(jī)上,HtmlTextView就是一個很好的選擇,當(dāng)然有人會說谷歌自己的TextView通過一些方法也可以實現(xiàn),但是我試過,效果簡直不能再差,而且使用起來很復(fù)雜。這個HtmlTextView有多好,話不多說,直接上圖:

          在使用的時候,第一步是引入控件的依賴:

          repositories {
          jcenter()
          }
          
          dependencies {
          compile 'org.sufficientlysecure:html-textview:4.0'
          }

          引入依賴后有幾種不同的使用方式,根據(jù)自己實際的場景進(jìn)行選擇:

          大部分的html標(biāo)簽都已經(jīng)支持:

          <p>
          <div> handled exactly like <p>
          <br>
          <b>
          <i>
          <strong> (bug on some Android versions: generates italic)
          <em> (bug on some Android versions: generates bold)
          <u>
          <tt>
          <dfn>
          <sub>
          <sup>
          <blockquote>
          <cite>
          <big>
          <small>
          <font color="..." face="...">
          <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
          <a href="...">
          <img src="...">

          最后,一個最重要的問題,也是我最近使用遇到的最大的問題:

          當(dāng)html里面有src或者h(yuǎn)ref等的時候,如果不做處理,APP會出現(xiàn)無法跳轉(zhuǎn)至瀏覽器并且崩潰閃退的情況。解決這個問題的辦法就是在方法里添加對應(yīng)的點擊事件,如下:

          實踐源于需求,
          
          
          
          一個前端需求,需求如下:
          前端網(wǎng)頁有三種聯(lián)系方式,郵箱,手機(jī)號,微信,
          怎么實現(xiàn)手機(jī)上在網(wǎng)頁上點擊該文字進(jìn)行相應(yīng)的跳轉(zhuǎn)
          如:
          點擊郵箱號跳轉(zhuǎn)到郵箱應(yīng)用
          點擊手機(jī)號跳轉(zhuǎn)到撥號應(yīng)用
          點擊微信號跳轉(zhuǎn)到微信應(yīng)用
          點擊QQ號跳轉(zhuǎn)到QQ應(yīng)用
          
          下面是簡單的實現(xiàn)步驟。
                        -- 記錄與 2021年09月19日 測試可用
          

          環(huán)境

          簡單的HTML頁面
          任意手機(jī)瀏覽器
          Android手機(jī) 或 IOS手機(jī)
          

          HTML實現(xiàn)

          • 點擊郵箱號跳轉(zhuǎn)到郵箱應(yīng)用 (已測試)
          <a href="mailto:support@xxx.com">郵箱:mailto:support@xxx.com</a>
          • 點擊手機(jī)號跳轉(zhuǎn)到撥號應(yīng)用 (已測試)
          <a href="tel:123">手機(jī):123 </a>
          • 點擊微信號跳轉(zhuǎn)到微信應(yīng)用 (已測試)
          <a href="weixin://">微信號:123 </a>
          • 點擊QQ號跳轉(zhuǎn)到QQ應(yīng)用 (未測試)
          # 這個未測試,網(wǎng)上兩種方法,可以都實踐下
          <a hfer="tencent://message/?uin=12345&Site=&Menu-=yes">彈出QQ為12345的窗口</a>
          
          <a href="http://wpa.qq.com/msgrd?v=3&uin=1846189021&site=qq&menu=yes">聯(lián)系客服</a> 

          整理

          <a href="mailto:support@xxx.com">聯(lián)系我們</a>
          <a href="tel:110">123 </a>
          <a href="weixin://">123 </a>
          <a hfer="tencent://message/?uin=12345&Site=&Menu-=yes">彈出QQ為12345的窗口</a>

          總結(jié)

          前三個郵箱、手機(jī)、微信都自身測試過,
          Android, IOS點擊可跳轉(zhuǎn)對應(yīng)應(yīng)用,
          
          QQ只是在網(wǎng)上搜了下,沒做測試,可以嘗試下看能不能成功
          
          不過話說回來,找了半天,只在網(wǎng)上一些博客里找到了上述這幾種的應(yīng)用跳轉(zhuǎn),
          不知道有沒有比較官方的文檔或者資料可以找到的,
          當(dāng)然,也可能是我關(guān)鍵詞沒搜對?
          有知道的麻煩留言或者私我呼我下
          

          其他

          如有遺漏歡迎補充

          如有問題歡迎留言

          如有作用歡迎點贊

          方便的話點個關(guān)注收藏更好了

          2021年09月19日測試可用


          主站蜘蛛池模板: 国产精品无码一区二区在线观| 国产精品主播一区二区| 无人码一区二区三区视频 | 亚洲视频在线一区二区| 一区一区三区产品乱码| 亚洲国产精品第一区二区 | 亚洲一区二区三区写真| 日韩精品无码一区二区三区不卡 | 亚洲一区二区影视| 91成人爽a毛片一区二区| 无码人妻精品一区二区三区66 | 亚洲熟女综合色一区二区三区| 国产视频一区二区在线播放| 亚洲国产精品一区二区第一页免 | 国产视频一区二区在线观看| 综合无码一区二区三区| 少妇精品久久久一区二区三区| 亚洲美女视频一区| 国产一区二区三精品久久久无广告 | 精品久久久久中文字幕一区| 国99精品无码一区二区三区| 国产在线一区二区在线视频| 日韩精品人妻一区二区中文八零 | 97se色综合一区二区二区| 爆乳无码AV一区二区三区| 欧美激情一区二区三区成人| 亚洲欧美国产国产综合一区| 中文字幕日韩精品一区二区三区| 国产美女在线一区二区三区| 国产一区二区草草影院| 国产肥熟女视频一区二区三区| 精品一区二区三区无码免费直播| 国产一区二区三区播放| 最美女人体内射精一区二区| 精品人无码一区二区三区| 国产成人精品亚洲一区| 中文字幕一区日韩在线视频| 日韩精品一区二区三区中文| 相泽南亚洲一区二区在线播放| 亚洲国产综合无码一区二区二三区| 亚洲色欲一区二区三区在线观看 |