How does Android jump into the App from the outside and Android jump into the App?
Blog Source: http://blog.csdn.net/liuxian13183! All Rights Reserved!
This problem has been solved for two days. Because there is no complete solution on the internet, I will share it with you!
Solving this problem has two functions:
1. directly access a page without opening the App
2. share an App to the outside, and access the closed loop of the App from the outside.
This topic can be divided into two aspects, one is from accessing the App, and the other is from the web page to the App.
Let's talk about it at http://my.oschina.net/liucundong/blog/354029.
Data Information such as scheme, host, path, and pathPrefix is used to differentiate
Both solutions need to add intent-filter information to the Activity to jump to, for example
<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: scheme = "cundong" android: host = "splash"/>
</Intent-filter>
First, let's go to the App. The scenario is from sharing the content of the App to directly opening the App.
Step 1: complete the registration of public platforms, related enterprise information, download links, and logos.
Step 2: Use WXAppExtendObject during sharing and assign the url to extInfo
Step 3: Initiate your jump when req. getType () = ConstantsAPI. COMMAND_SHOWMESSAGE_FROM_WX of the onReq method of the IWXAPIEventHandler Interface
Step 4: data is required during the jump, where the data comes from, and from the getIntent object of the onCreate method in the WXEntryActivity class
The process ends from entering the App.
------------------- I am a split line ------------------------
Next, because webView restrictions such as Weibo and Weibo all use this control on the web page, you can only share the content on the web page and then access the App.
The principle is as follows:
<Div>
<A id = "J-call-app" href = "javascript:;" class = "label"> open now & gt; </a>
<Input id = "J-download-app" type = "hidden" name = "storeurl" value = "http://apk.hiapk.com/appinfo/com.tmall.wireless">
</Div>
<Script>
(Function (){
Var ua = navigator. userAgent. toLowerCase ();
Var t;
Var url = document. location;
Var config = {
/* Scheme: required */
Scheme_IOS: 'cundong ://',
Scheme_Adr: 'cundong: // splash ',
Download_url: document. getElementById ('J-download-app'). value,
Timeout: 600
};
Function openclient (){
Var startTime = Date. now ();
Var ifr = document. createElement ('iframe ');
// Alert (config. scheme_Adr );
Ifr. src = ua. indexOf ('OS')> 0? Config. scheme_IOS: config. scheme_Adr;
Ifr. style. display = 'none ';
Document. body. appendChild (ifr );
Var t = setTimeout (function (){
Var endTime = Date. now ();
If (! StartTime | endTime-startTime <config. timeout-200 ){
Window. location = config. download_url;
} Else {
Window. location. href = ifr. src. replace ("http: //", "cundong ://");;
}
}, Config. timeout );
Window. onblur = function (){
ClearTimeout (t );
}
}
Window. addEventListener ("DOMContentLoaded", function (){
Document. getElementById ("J-call-app"). addEventListener ('click', openclient, false );
}, False );
})()
</Script>
Click "open" and execute a javascript code. If the App can be opened within the specified time, it will be opened; otherwise, the download page will be displayed.
This is the basic idea for solving this problem. You are welcome to discuss it!