我看一下android Messaging App的源代码,清单文件说:
<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应用程序?
答案 0 :(得分:2)
大概是因为*/*
是匹配所有内容的通配符。
让我们翻看它。如果Messaging与*/*
不匹配,那么 nothing 将匹配*/*
,并且将它指定为MIME类型完全没有意义。