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
- 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应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Netplus里的基本概念
- 下一篇: 以心换心,将心比心----项目经理要学会