手機網頁調用app
Android App需要實現一套schema協議,H5頁面只需要調用對應的協議就可以實現本地App的調用!比如現在很多的分享就是這么做的!建議參考這幾個文章;
1. https://segmentfault.com/a/1190000005848133?_ea=938555
2. http://blog.html5funny.com/2015/06/19/open-app-from-mobile-web-browser-or-webview/
Ⅱ 怎麼用網頁的超級鏈接調用安卓手機的app
一、通過html頁面打開Android本地的app
1、首先在編寫一個簡單的html頁面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打開app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清單文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例截圖如下:
然後使用「手機瀏覽器」或者「webview」的方式打開這個本地的html網頁,點擊「打開APP」即可成功開啟本地的指定的app
二、如何通過這個方法獲取網頁帶過來的數據
只能打開就沒什麼意思了,最重要的是,我們要傳遞數據,那麼怎麼去傳遞數據呢?
我們可以使用上述的方法,把一些數據傳給本地app,那麼首先我們更改一下網頁,代碼修改後:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打開app</a><br/>
</body>
</html>
(1).假如你是通過瀏覽器打開這個網頁的,那麼獲取數據的方式為:
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
(2)如果使用webview訪問該網頁,獲取數據的操作為:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg0=uri.getQueryParameter("arg0");
String arg1=uri.getQueryParameter("arg1");
}else{
view.loadUrl(url);
}
return true;
}
});
Ⅲ 怎麼在app里調用手機瀏覽器打開指定網頁
直接打開瀏覽器在地址欄裡面輸入你想訪問的的網址就可以了
wap手機網站是通專過瀏覽器進行訪問的屬,而APP需要開發一個客戶端,面向的是直接APP用戶,wap手機網站面向的是搜索引擎。
從操作方便來看,APP更直接方便,但是需要用戶先下載使用。
從面向用戶來看,wap手機網站更利於面向搜索引擎需求的用戶.
Ⅳ 如何通過html網頁調用本地安卓app
一、通過html頁面打開Android本地的app
1、首先在編寫一個簡單的html頁面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打開app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清單文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例截圖如下:
然後使用「手機瀏覽器」或者「webview」的方式打開這個本地的html網頁,點擊「打開APP」即可成功開啟本地的指定的app二、如何通過這個方法獲取網頁帶過來的數據只能打開就沒什麼意思了,最重要的是,我們要傳遞數據,那麼怎麼去傳遞數據呢?
我們可以使用上述的方法,把一些數據傳給本地app,那麼首先我們更改一下網頁,代碼修改後:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打開app</a><br/>
</body>
</html>
(1).假如你是通過瀏覽器打開這個網頁的,那麼獲取數據的方式為:
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
(2)如果使用webview訪問該網頁,獲取數據的操作為:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg0=uri.getQueryParameter("arg0");
String arg1=uri.getQueryParameter("arg1");
}else{
view.loadUrl(url);
}
return true;
}
});
Ⅳ 如何通過Html網頁調用本地安卓app
一、通過html頁面打開Android本地的app
1、首先在編寫一個簡單的html頁面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打開app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清單文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例截圖如下:
然後使用「手機瀏覽器」或者「webview」的方式打開這個本地的html網頁,點擊「打開APP」即可成功開啟本地的指定的app
Ⅵ html5頁面可以啟動手機上的APP嗎
有個方法你可以參考一下
一、Html上添加一個a標簽,如下
<aclass="button-download"href="yly://XXXX"><span>啟動app</span></a>
二、的AndroidManifest.xml中的MainActivity中加入如下的intent-filter
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<categoryandroid:name="android.intent.category.BROWSABLE"/>
<dataandroid:scheme="yly"/>
</intent-filter>
三、在MainActivity的OnCreate中加入如下方法,取得yly://後面的信息
Intentintent=getIntent();
Stringuri=intent.getDataString();
Ⅶ html5頁面可以啟動手機上的app嗎
html中其實是無法判斷應用是否安裝,除非在webview中通過js bridge,這里通過一種方式達到此目的。
1、編輯AndroidManifest.xml:
主要是增加第二個<intent-filter>,myapp用來標識schema,最好能保證手機系統唯一,那樣就可以打開應用,而不是彈出一個選擇框。
android:pathPrefix標識url的path,可以附帶自己的數據通過string傳遞到activity,比如完整url為 myapp://xxx/openwith?data=mydata
[html] view plain
<activity
android:name="com.abc.MainActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<categoryandroid:name="android.intent.category.BROWSABLE"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:scheme="myapp"android:pathPrefix="/xxx/openwith"/>
</intent-filter>
t;/activity>
然後通過activity獲得data數據:
[java]viewplain
publicvoidonCreate(BundlesavedInstanceState){
Uriuridata=this.getIntent().getData();
Stringmydata=uridata.getQueryParameter("data");
...
}
2、編寫html頁面:
整個頁面也許是某個app的詳細介紹,這里只寫出關鍵的js代碼:
[javascript]viewplain
functionopenApp(){
if(/android/i.test(navigator.userAgent)){
varisrefresh=getUrlParam('refresh');//獲得refresh參數
if(isrefresh==1){
return
}
window.location.href='myapp://xxx/openwith?data=mydata';
window.setTimeout(function(){
window.location.href+='&refresh=1'//附加一個特殊參數,用來標識這次刷新不要再調用myapp://了
},500);
}
}
上面代碼可以達到這樣一個目的,先請求 myapp:// ,如果系統能處理,或者說已經安裝了myapp表示的應用,那麼就可以打開,另外,如果不能打開,直接刷新一下當前頁面,等於是重置location。
Ⅷ 手機瀏覽器頁面如何打開手機app
手機瀏覽器頁面這個是無法在同時打開手機APP的,要想打開手機APP必須關閉瀏覽器,在重新打開APP。
Ⅸ 如何通過Html網頁調用本地安卓app
1、首先在編寫一個簡單的html頁面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打開app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清單文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例如下:
然後使用「手機瀏覽器」或者「webview」的方式打開這個本地的html網頁,點擊「打開APP」即可成功開啟本地的指定的app
如何通過這個方法獲取網頁帶過來的數據???
只能打開就沒什麼意思了,最重要的是,我們要傳遞數據,那麼怎麼去傳遞數據呢?
我們可以使用上述的方法,把一些數據傳給本地app,那麼首先我們更改一下網頁,代碼修改後:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打開app</a><br/>
</body>
</html>
(1).假如你是通過瀏覽器打開這個網頁的,那麼獲取數據的方式為:
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
(2)如果使用webview訪問該網頁,獲取數據的操作為:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg0=uri.getQueryParameter("arg0");
String arg1=uri.getQueryParameter("arg1");
}else{
view.loadUrl(url);
}
return true;
}
});