通过一个打开APP之 Android scheme
2017-01-22 17:55
316 查看
通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。
首先在Mainifest文件里面对要启动的Activity添加一个过滤器。
[java] view
plain copy
<activity
android:name="com.example.helloworld.MainActivity"
android:label="@string/app_name" >
<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.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="znn"/>
</intent-filter>
</activity>
在MainActivity接收数据:
[java] view
plain copy
public class MainActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
String scheme = intent.getScheme();
Uri uri = intent.getData();
System.out.println("scheme:"+scheme);
if (uri != null) {
String host = uri.getHost();
String dataString = intent.getDataString();
String id = uri.getQueryParameter("d");
String path = uri.getPath();
String path1 = uri.getEncodedPath();
String queryString = uri.getQuery();
System.out.println("host:"+host);
System.out.println("dataString:"+dataString);
System.out.println("id:"+id);
System.out.println("path:"+path);
System.out.println("path1:"+path1);
System.out.println("queryString:"+queryString);
}
}
}
写一个最简单的网页:
[html] view
plain copy
<a href="znn://aa.bb:80/test?p=12&d=1">test</a>
测试地址:www.erdian.net/m.html
测试结果:
scheme:znn
host:aa.bb
dataString:znn://aa.bb:80/test?p=12&id=1
id:1
path:/test
path1:/test
queryString:p=12&d=1
http://www.erdian.net/?p=238
首先在Mainifest文件里面对要启动的Activity添加一个过滤器。
[java] view
plain copy
<activity
android:name="com.example.helloworld.MainActivity"
android:label="@string/app_name" >
<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.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="znn"/>
</intent-filter>
</activity>
在MainActivity接收数据:
[java] view
plain copy
public class MainActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
String scheme = intent.getScheme();
Uri uri = intent.getData();
System.out.println("scheme:"+scheme);
if (uri != null) {
String host = uri.getHost();
String dataString = intent.getDataString();
String id = uri.getQueryParameter("d");
String path = uri.getPath();
String path1 = uri.getEncodedPath();
String queryString = uri.getQuery();
System.out.println("host:"+host);
System.out.println("dataString:"+dataString);
System.out.println("id:"+id);
System.out.println("path:"+path);
System.out.println("path1:"+path1);
System.out.println("queryString:"+queryString);
}
}
}
写一个最简单的网页:
[html] view
plain copy
<a href="znn://aa.bb:80/test?p=12&d=1">test</a>
测试地址:www.erdian.net/m.html
测试结果:
scheme:znn
host:aa.bb
dataString:znn://aa.bb:80/test?p=12&id=1
id:1
path:/test
path1:/test
queryString:p=12&d=1
http://www.erdian.net/?p=238
相关文章推荐
- Android 通过网页打开自己的APP(scheme)
- Android 通过网络打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- Android中通过scheme实现网页打开App(deep-link)
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- 通过超链接打开一些常见app(android:scheme运用)
- Android 通过网页打开自己的APP(scheme)
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android:如果手机安装了app则打开一个activity,如果没有安装则去到android market如何在HTML页面实现
- android通过快捷方式打开一个网页
- Android 通过浏览器打开自己的APP
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据(转)
- 通过浏览器直接打开Android App 应用程序
- Android 通过包名打开其他APP
- 通过打开android应用市场来定位你的app
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android下通过app名字打开程序(activity)链接