Android H5判斷是否安裝app和喚起APP
第一種方式,
if(...){
document.location = '';
setTimeout(function(){
//此處如果執行則表示沒有app
},200);
}
這裡的邏輯很簡單,當沒有成功開啟app的時候
新頁面不會彈出則頁面邏輯可言進行,如果進入了新頁面,則頁面邏輯便終止了
所以我們可以另開一個延時的執行緒來判斷這個事情
通過H5喚起APP
編輯AndroidManifest.xml:
主要是增加第二個<intent-filter>,launchapp用來標識schema,最好能保證手機系統唯一,那樣就可以開啟應用,而不是彈出一個選擇框。
android:pathPrefix標識url的path,可以附帶自己的資料通過string傳遞到activity,比如完整url為 launchapp://haha?data=mydata
<activity android:name="com.robert.MainActivity" android:configChanges="orientation|keyboardHidden|navigation|screenSize" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <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:scheme="launchapp" android:pathPrefix="/haha" /> </intent-filter> </activity>
然後通過activity獲得data資料:
public void onCreate(Bundle savedInstanceState) {
Uri uridata = this.getIntent().getData();
String mydata = uridata.getQueryParameter("data");
...
}
編寫html頁面:
整個頁面也許是某個app的詳細介紹,這裡只寫出關鍵的js程式碼:
function openApp() { if (/android/i.test(navigator.userAgent)) { var isrefresh = getUrlParam('refresh'); // 獲得refresh引數 if(isrefresh == 1) { return } window.location.href = 'launchapp://haha?data=mydata'; window.setTimeout(function () { window.location.href += '&refresh=1' // 附加一個特殊引數,用來標識這次重新整理不要再呼叫myapp:// 了 }, 500); } }
上面程式碼可以達到這樣一個目的,先請求 launchapp:// ,如果系統能處理,或者說已經安裝了myapp表示的應用,那麼就可以開啟,另外,如果不能開啟,直接重新整理一下當前頁面,等於是重置location。
歡迎關注公眾號,互相學習
相關推薦
Android H5判斷是否安裝app和喚起APP
H5中是無法直接判斷應用是否安裝的,但是可以間接判斷。 第一種方式, if(...){ document.location = ''; setTimeout(function(){ //此處如果
Appium——解決每次啟動時都安裝setting和unlock app方法
module 分享圖片 images 安裝目錄 devices 重啟 lib png nod 找到appium安裝目錄 C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android 修改代碼,註
h5做的app和原生app的區別
個人 目前 sign 引用 enc 語言 缺陷 情況 支持 之所以說h5做的app和原生app的區別,是因為一位博友的問題: 隨著 h5 的普及,是不是不再需要開發 app ? 我的回答是要分業務需求,分場合而定。 比如現在的微信小程序這麽流行,甚至也取代了不少app,但是
android/WINCE驅動、系統(framework)和apk/app產品開發和合作
本人有豐富的android/WINCE驅動和系統開發經驗,和精通android/WINCE系統與apk/app的同事組合的一個開發團隊,團隊特點: 1.精通android/WINCE驅動、系統(framework)和apk/app開發 2.涉及的CPU有,三星S3C2440、S3C2451、
Android Studio 之 Gradle 安裝配置和編譯
目錄 前言 由於生產力很大一部分取決於生產工具的使用,為了緊跟時代的潮流,我也從Eclipse切換到Android Studio來進行Android開發。 使用Android Studio的時候,最先遇到的難點應該就是Gradle的安裝、配置
Android 把應用APK安裝包放到system/app下的方法
方法一: 然後開啟cmd命令編輯器,建議下載PowerCmd方便操作。 輸入adb shell回車 輸入su回車 輸入mount -o rw,remount/system回車 再開啟另外一個cmd命令編輯器 輸入adb push "你的apk絕對路徑" system/app
Android開發之原生APP和Web APP的區別個人見解
Native App開發Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機作業系統要採用不同的語言和框架進行開發,該模式通常是由
android 如何預置APK到 data 和system/app目錄
一、如何將帶原始碼的APK預置進系統?1) 在 packages/apps 下面以需要預置的 APK的 名字建立一個新資料夾,以預製一個名為Test的APK 為例2) 將 Test APK的Source code 拷貝到 Test 資料夾下,刪除 /bin 和 /gen 目錄3) 在
h5做app和原生app有什麼區別?
H5開發的web APP和原生APP的區別有以下幾個方面: 一、開發方面 原生App ⊙ 每一種移動作業系統都需要獨立的開發專案 ⊙ 每種平臺都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows M
Android SDK的安裝與環境變數配置--安裝Android studio環境需要安裝SDK和JDK
配置Andriod環境變數前提是要先安裝好JAVA環境 1、下載Android SDK,點選安裝,直接預設路徑即可! 
原生APP和Web APP的區別
aid pyw style 平臺 follow lan pre 不同 數據交互 Native App開發Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要采用不同的語言和框架進行開發,該模式通
關於system/priv-app和system/app目錄以及許可權
這篇文章將會說到有關android許可權,android簽名,所以會分為幾篇寫。 最近有個專案遇到一個問題,我把客戶的apk預置到了system/priv-app下,怎麼預置的? 在android.mk下加入一句LOCAL_
原生APP和混合APP、web APP有什麼區別?
1.原生APP 原生APP是什麼?原生APP就是利用Android、iOS平臺官方的開發語言、開發類庫、工具進行開發。比如安卓的java語言,iOS的object-c 語言。在應用效能上和互動體驗上應該是最好的。 優點: 1、可訪問手機所有功能、可實現功能最齊全; 2
Web App 和 Native App,哪個是趨勢?
一、Web App vs. Native App 比起手機App,網站有一些明顯的優點。 跨平臺:所有系統都能執行 免安裝:開啟瀏覽器,就能使用 快速部署:升級只需在伺服器更新程式碼 超連結:可以與其他網站互連,可以被搜尋引擎檢索 但是,現實是怎樣呢? (1)體驗差。手機App的
談一談Web App和Native App的優勢和劣勢
對於第一次想要做APP的客戶來說,如何去做APP是一件頭疼的事情,我想做APP,但是又不知道APP開發是個怎樣的事情,下面就讓創息軟體的小編為您細細道來:在不就的將來,APP的生態鏈到底是Web App
h5頁面喚起app(iOS和Android),沒有安裝則跳轉下載頁面
由於研究了之後,和同事溝通,找到一個地址進入,分別測試不同手機,機型,安卓進入安卓應用商店,ios進入app store ;所以直接貼了一個連結,即可。 下面方法,暫時沒用到,分享給需要的盆友。 COPY的方法如下,參考:------------------------
js判斷是否安裝某個app(android),沒有則下載
現在經常有寫場景需要提示使用者下載app, 但是如果使用者已經安裝,我們希望是直接開啟app。 實際上,js是沒有判斷app是否已經安裝的方法的,我們只能曲線救國。 首先,我們需要有call起app的schema, 已經下載地址,比如: var schema = 'myApp://main';
Android H5和App互動以及開啟相簿上傳圖片並顯示
一、H5連結開啟App 點選瀏覽器中的URL,如何啟動App呢? 1、HTML連結處理 首先做成HTML的內容,url格式如下: <a href="[scheme]://[host]/[path]?[query]">啟動應用程式</a> 說明:
android檢測手機是否安裝某個app
array dpa return ring bsp 包名 gen info true public static boolean isAvilible(Context context, String packageName){ //獲取packagemanager
移動端H5 判斷IOS還是Android 平臺
hone one 平臺 useragent ont navig navigator span ios 1.方法 (function($) { var UA = window.navigator.userAgent; if(/Android|HTC/i.te