日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android:H5 通过 URL Scheme 拉起app应用

發布時間:2023/12/18 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android:H5 通过 URL Scheme 拉起app应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

記錄一下:task-->通過點擊h5鏈接,拉起目標app

第一:在清單文件中配置,啟動的WeekUpActivity

<activity<!--要喚起的Activity-->android:name=".splash.WeekUpActivity"android:exported="true"><intent-filter><!--可以根據用戶的數據類型,打開相應的Activity--><action android:name="android.intent.action.VIEW" /><!--界面可以被隱式調用--><category android:name="android.intent.category.DEFAULT" /><!--界面可以通過瀏覽器的連接啟動--><category android:name="android.intent.category.BROWSABLE" /><!--協議部分,主要是配置scheme和host--><dataandroid:host="jhq"android:scheme="testclientapp"android:path="/news"android:port="8080"> /></intent-filter> </activity>

第二:格式:scheme://host:port/path? ?===》testclientapp://jhp:8080/news

  • 1.在手機微信里,通過微信內部瀏覽器拉起app
  • 微信屏蔽了自定義的scheme訪問的功能,無法在微信里直接拉起app。
  • 只能通過微信自家應用寶配置的鏈接,示例:[https://a.app.qq.com/o/simple.jsp?pkgname=包名&channel=1002160650427d595942&fromcase=10001] ,應用寶鏈接能判斷出本地是否安裝了該包名app,沒安裝會引導去應用寶下載,本地安裝了會直接拉起app。
    • 2.在瀏覽器中(搜狗、百度、qq),通過URL Scheme 拉起app

    另總結一下:Android拉起app的方法

    //通過包名,打開目的app private void openThirdApp2(){Intent intent2 = getPackageManager().getLaunchIntentForPackage("包名");String classNameString = intent2.getComponent().getClassName();//得到app類名Intent intent = new Intent();intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);intent.setComponent(new ComponentName("包名", classNameString));startActivity(intent);}//通過包名,打開目的app import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager;private void openThirdApp1(){PackageManager packageManager = getPackageManager();Intent intent= packageManager.getLaunchIntentForPackage("包名");startActivity(intent);}//可以拉起---發起app和拉起的app不在同一個棧里 private void openThirdApp3(){//可以拉起---發起app和拉起的app不在同一個棧里Intent intent = new Intent();intent.setData(Uri.parse("testclientapp://jhq:8080/news"));intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);}//可以拉起---但在發起app和拉起的app在同一個棧里 private void openSchema(){//可以拉起---但在發起app和拉起的app在同一個棧里Intent it = new Intent();it.setAction(Intent.ACTION_VIEW);it.setData(Uri.parse("testclientapp://jhq:8080/news"));startActivity(it);}

    參考:

    https://www.sunzn.com/2017/07/18/%E4%BD%BF%E7%94%A8-URL-Scheme-%E5%94%A4%E8%B5%B7%E5%BA%94%E7%94%A8%E6%89%93%E5%BC%80-Activity/? ??使用 URL Scheme 喚起應用打開 Activity

    https://blog.csdn.net/qq_40028324/article/details/103078599??關于h5喚起App的方式

    https://www.cnblogs.com/shadajin/p/5724117.html??iOS/Android 瀏覽器(h5)及微信中喚起本地APP

    https://blog.csdn.net/wangzunkuan/article/details/95515175??運用scheme協議喚起外部app

    https://blog.csdn.net/weixin_43917449/article/details/103393978??Android 使用scheme喚起app本地打開

    https://blog.csdn.net/zhaohuiyan9837/article/details/78429079??android點擊鏈接打開應用對應界面? (在應用殺死狀態下,打開對應界面后,返回時為了不回到瀏覽器界面,可以借助TaskStackBuilder來實現(具體用法請查閱相關文檔))

    https://www.jianshu.com/p/1439c8bbc34b??Android 外部喚起應用跳轉指定頁面?TaskStackBuilder

    https://blog.csdn.net/huaxun66/article/details/78274600??Android應用內跳轉Scheme協議

    https://github.com/ZHuiYan/WebOpenApp/tree/master? ?demo

    總結

    以上是生活随笔為你收集整理的Android:H5 通过 URL Scheme 拉起app应用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。