html 5ページ携帯電話のアプリを起動
4827 ワード
htmlでは、webviewでjs bridgeを通過しない限り、アプリケーションがインストールされているかどうかを判断することはできません.ここでは、この目的を1つの方法で達成します.
1、AndroidManifestを編集する.xml:
主に2つ目を追加して、myappはschemaを識別するために使用して、携帯電話システムが唯一であることを保証することができるほうがいいです.そうすれば、選択ボックスをポップアップするのではなく、アプリケーションを開くことができます.
Android:pathPrefixはurlのpathを識別し、stringを通じてactivityに自分のデータを添付することができます.例えば、完全なurlはmyapp://xxx/openwith?data=mydata
[html] view plaincopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1、AndroidManifestを編集する.xml:
主に2つ目を追加して、myappはschemaを識別するために使用して、携帯電話システムが唯一であることを保証することができるほうがいいです.そうすれば、選択ボックスをポップアップするのではなく、アプリケーションを開くことができます.
Android:pathPrefixはurlのpathを識別し、stringを通じてactivityに自分のデータを添付することができます.例えば、完全なurlはmyapp://xxx/openwith?data=mydata
[html] view plaincopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<
activity
android:name
=
"com.abc.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
=
"myapp"
android:pathPrefix
=
"/xxx/openwith"
/>
intent-filter
>
t;/activity>
にactivityでdataデータを します.
1
2
3
4
5
6 [java] view plaincopy
public void onCreate(Bundle savedInstanceState) {
Uri uridata = this.getIntent().getData();
String mydata = uridata.getQueryParameter("data");
...
}
2、htmlページの :
ページ がappの な かもしれませんが、ここには なjsコードしか かれていません.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 [javascript] view plaincopy
function openApp() {
if (/android/i.test(navigator.userAgent)) {
var isrefresh = 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をリセットするのと じです.