android:android Intent and IntentFilter

文章来自:

1,intentfilter说明:

如果说是将一个activity有其他应用打开,或者是在webView 或者 bybird app中调用我们自己的activity, 那么就可以使用intentfilter来过滤我们自己需要的activity;

*uri参数说明 Java Code:

final Uri uri = Uri.parse(“intbird://com.intbird.soft/testing/tested?name=’Test'”);TextView textView = (TextView)findViewById(R.id.textView);textView.setText(uri.getScheme() + “\n” //intbird+ uri.getPort() + “\n” //-1+ uri.getAuthority() + “\n” //com.intbird.soft+ uri.getHost() + “\n” //com.intbird.soft+ uri.getPath() + “\n” // /testing/tested+ uri.getPathSegments() + “\n” // [tesing,tested]+ uri.getQuery()+”\n”); //(View v) {Intent intent = new Intent();intent.setAction(“android.intent.action.VIEW”);intent.setData(uri);PackageManager packageManager = getPackageManager();List<ResolveInfo> activities = packageManager.queryIntentActivities(intent,0);boolean isIntentSafe = activities.size() > 0;if(isIntentSafe){startActivity(intent);}else{Toast.makeText(MainActivity.this, “匹配None”, Toast.LENGTH_SHORT).show();}}

XML Code:

NOTE : 必须有category标签<activity>>=></activity>2,结合网页调用加深理解

uri: final Uri urihttp = Uri.parse(“https://www.baidu.com/s?wd=intbird“); //schma : http //host : //path : /s //query : wd= intbird

XML

<activity>==></activity>

匹配scheme,匹配host多个,弹出 Intent Chooser

3,同理,我们如果有多个activity;

if 两个都一样:

<activity>>=></activity><activity>==></activity>

So:

but: add path [ android:path=”/testing” ] to one,startActivity directly

,擒龙要下海,打虎要上山。

android:android Intent and IntentFilter

相关文章:

你感兴趣的文章:

标签云: