在我的应用我在email.while发送WAV文件作为附件显示电子邮件选配的Indent.createChooser意图将列出电子邮件时,Gmail,Facebook的,SKYPE,蓝牙等不需要的选项了。 我想只显示邮件和Gmail选项。 我不知道该怎么做? 你之前可能其重复的问题,我看到了下面的链接,它并不能帮助我。
- 如何发送记录的语音电子邮件?
- Android的意图选择器只显示电子邮件选项
至于说在上述链接我试图sendIntent.setType("audio/rfc822");
。 这又是显示相同的。
我的代码示例:
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "xxxxxxxxxxxx");
sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://" + f.getAbsolutePath()));
sendIntent.setType("audio/wav");
startActivity(Intent.createChooser(sendIntent, "Email file"));
更新问题:
我实现了一个样本有列出已安装的应用程序,然后单击列表视图我将推出的Gmail /电子邮件应用程序的项目: 它说,“没有应用程序可以执行此操作”。
要列出列表视图中的应用:
-----------------
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for(int i = 0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
if ((includeSysApps) && ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) {
continue;
}
App app = new App();
app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
app.setPackageName(p.packageName);
app.setVersionName(p.versionName);
app.setVersionCode(p.versionCode);
app.setInstallDir(p.applicationInfo.sourceDir);
app.setInstallSize(calculateSize(app.getInstallDir()));
CharSequence description = p.applicationInfo.loadDescription(packageManager);
app.setDescription(description != null ? description.toString() : "");
apps.add(app);
-----------
而在onclick项事件是:
Intent sendIntent = new Intent(getPackageManager().getLaunchIntentForPackage(app.getPackageName()));
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "xxxxxxxxxxxx");
sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://" + Environment.getExternalStorageDirectory().getPath()+"/Music/SalsaFav.mp3"));
sendIntent.setType("audio/wav");
startActivity(Intent.createChooser(sendIntent, "Email file"));
请帮我。