2 o casper ne O_Casper_ne 于 2013.03.21 18:03 提问

为什么 android Messaging 应用被启动?

我查看android信息应用的源代码,manifest 文件中是这样的:

<intent-filter>
       <action android:name="android.intent.action.SEND" />
       <category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="image/*" />
   </intent-filter>
   <intent-filter>
       <action android:name="android.intent.action.SEND" />
       <category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="video/*" />
   </intent-filter>
   <intent-filter>
       <action android:name="android.intent.action.SEND" />
       <category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="text/plain" />
   </intent-filter>

但是在我的代码中,我是这样启动一个intent的:

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("*/*");

我能在弹出的对话框中看见 Messaging app 吗?
当我使用 / mimeType 类型启动一个ACTION_SEND intent时,为什么 android Messaging 应用被启动?

1个回答

zxd_72
zxd_72   2013.04.03 14:01
已采纳

推测大概是因为 */*通配符可以匹配任何字符。
反过来说,如果消息不匹配 */*,就没有别的可以匹配 */*,这将是对指定它作为 MIME 类型毫无意义。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!