在Android中使用Activity标签下的data标签来描述该Activity可打开的资源类型,根据官方文档的说明其语法如下:
android:mimeType="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:port="string"
android:scheme="string" />当URI符合scheme://host:port/path的形式或者满足pathPrefix或pathPattern属性的描述时就会启动相应的Activity。
假设有http://mush.com/test/a.html
则应设置
host=“mush.com”
scheme="http"
若
使用path匹配,则需将path设为/test/a.html
使用pathPrefix匹配,则需将pathPrefix设为/test
使用pathPattern匹配,则需将pathParrern设为.*\\html
示例:
新建一个android HelloWorld,修改mainctivity的onCreate方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri uri = intent.getData();
setContentView(R.layout.activity_main);
this.txt_uri = (TextView) this.findViewById(R.id.txt_uri);
if(uri!=null){
this.txt_uri.setText(uri.toString());
}
}修改其manifest
android:name="com.mush.uritest.MainActivity"
android:label="@string/app_name" >
android:host="mush.com"
android:pathPrefix="/test"
android:scheme="http" >
使用zxing扫面下面的条形码
则会弹出 Chooser Dialog
打开后效果如下: