Android Intent Filter简单使用
对电话拨号盘的过滤,mainfest配置文件中Activity如下配置:
<activity Android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.CALL_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
效果,点击电话按钮,弹出选择应用对话框,包含我们自己定义应用:
发送短信的时候,调用自定义应用:
<activity android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="smsto" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
效果如下,在友录通讯录中点击发送短信按钮,弹出选择应用对话框,包含我们自定义应用:
自定义程序调用发送短信功能:
Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri
.parse("sms://"));
startActivity(sendIntent);
同时,在mainfest配置文件中添加intent-filter,增加发送短信的Intent功能:
<activity android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="sms" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
效果如下,在自己写的程序中点击按钮,调用发送短信功能:
选择自己的应用,进入到TestActivity。
对http请求的Intent过滤:
<activity android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
效果如下,点击http连接的时候,弹出选择应用的对话框:
过滤分享图片功能实现:
<activity android:name=".TestActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
这样,在相册中点击分享按钮的时候,就会弹出分享应用选择对话框: