转载于:http://www.jianshu.com/p/7d90a6cfb5f3
Android 通过URL scheme 启动App
简述:Android 通过URL scheme 实现点击浏览器中的URL链接,启动特定的App,并调转页面传递参数。
Step 0:
关于页面内容格式如下:
<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>
各个项目含义如下所示:
- scheme:判别启动的App。 - 必填项
- host:适当记述。- 必填项
- path:传值时必须的key。 - 非必填项
- query:获取值的Key和Value。 - 非必填项
Step 1:
在Android端定义Url启动格式,在AndroidManifest.xml文件中,指定需要进行启动的Activity页面,一般是app启动的主页面。
示例:
<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><!--通过浏览器Url启动app--><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><dataandroid:host="lolita"android:scheme="night" /><!--<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>--></intent-filter></activity></application>
Step 2:
定义一个HTML文件 start.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><br/><!--<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>--><a href="night://lolita?name=Tomcat&page=27">打开app</a><br/></html>
Step 3:
如何获取url调整传递过来的数据?
在Activity中需要取值的地方添加以下代码:
Intent intent = getIntent();
if (intent != null)
{
String intentAction = intent.getAction();
if (Intent.ACTION_VIEW.equals(intentAction))
{
Uri intentData = intent.getData();
String name = intentData.getQueryParameter("name");
String page = intentData.getQueryParameter("page");
Log.e(TAG, "initIntentData: " + name);
Log.e(TAG, "initIntentData: " + page);
运行结果:
参考网址:
1:http://stackoverflow.com/questions/3469908/make-a-link-in-the-android-browser-start-up-my-app/3472228#3472228
2:http://stackoverflow.com/questions/2958701/launch-custom-android-application-from-android-browser
Android技术探索
作者:beforenight
链接:http://www.jianshu.com/p/7d90a6cfb5f3
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。