私のアプリでは、WAV ファイルを電子メールの添付ファイルとして送信しています。電子メール チューザーを表示している間、Indent.createChooser インテントは、電子メール、gmail、facebook、skype、bluetooth、およびその他の不要なオプションを一覧表示します。メールと Gmail のオプションのみを表示したい。私はそれを行う方法がわかりません?重複する可能性のある質問の前に、次のリンクを見ましたが、役に立ちません。
上記のリンクで述べたように、私は試し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"));
私を助けてください。