android:android Intent and IntentFilter
来源:互联网 发布:淘宝照相技巧 编辑:程序博客网 时间:2024/06/06 02:06
文章来自:http://blog.csdn.net/intbird
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"); // name='Text'
public void onClick(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 android:name=".MyIntentFilter" android:label="@string/app_name" > <intent-filter> <category android:name="android.intent.category.DEFAULT"></category> <action android:name="android.intent.action.VIEW"/> <data android:scheme="intbird" android:host="com.intbird.soft"/> </intent-filter> </activity>
2,结合网页调用加深理解
uri:
final Uri urihttp = Uri.parse(“https://www.baidu.com/s?wd=intbird“);
//schma : http
//host : www.baidu.com
//path : /s
//query : wd= intbird
XML
<activity android:name=".MyIntentFilter2" android:label="@string/app_name" > <intent-filter> <category android:name="android.intent.category.DEFAULT"/> <action android:name="android.intent.action.VIEW"/> <data android:scheme="https" android:host="www.baidu.com" /> </intent-filter> </activity>
匹配scheme,匹配host多个,弹出 Intent Chooser
3,同理,我们如果有多个activity;
if 两个都一样:
<activity android:name=".MyIntentFilter" android:label="@string/app_name" > <intent-filter> <category android:name="android.intent.category.DEFAULT"></category> <action android:name="android.intent.action.SENDTO"/> <data android:scheme="intbird" android:host="com.intbird.soft"/> </intent-filter> </activity> <activity android:name=".MyIntentFilter2" android:label="@string/app_name" > <intent-filter> <category android:name="android.intent.category.DEFAULT"/> <action android:name="android.intent.action.SENDTO"/> <data android:scheme="intbird" android:host="com.intbird.soft" /> </intent-filter> </activity>
So:
but: add path [ android:path=”/testing” ] to one,startActivity directly
0 0
- android:android Intent and IntentFilter
- Android Intent\IntentFilter 详解
- Android Intent IntentFilter
- Android - Intent与IntentFilter
- Android Intent 和 Intentfilter
- android intent 与 IntentFilter
- Android 之 Intent 和 IntentFilter
- android基础知识:intent和intentfilter
- Android - Intent、PendingIntent、IntentFilter、BroadcastReceiver
- android Intent和intentFilter详解
- Android 读书笔记---Intent 和 IntentFilter
- Android Intent和IntentFilter详解
- android 随笔小记 Intent IntentFilter
- android--Intent和IntentFilter详解
- IntentFilter and Intent
- Android的Intent&IntentFilter Intent属性及Intent-filter配置
- android之Intent、IntentFilter、IntentService、PendingIntent
- android基础知识06:intent和intentfilter
- tomcat环境配置
- PHP学习笔记(一):开发微信平台
- C++内存管理
- webStorm的注册码
- scala之尾递归实际用处1
- android:android Intent and IntentFilter
- python之花瓣美女下载
- 最大流和最小割:Edmonds_Karp算法
- 约瑟夫环的C语言和86/88汇编非递归算法
- VC6工程更名
- curl命令详解
- AppIcon中pt的百度百科解释
- [CF 86D] Powerful array · 莫队算法
- HDU 2795 Billboard 线段树 (单点更新,询问树最左节点是否可以容纳)