gpt4 book ai didi

Android 共享 Intent EXTRA_STREAM

转载 作者:行者123 更新时间:2023-12-04 13:48:55 26 4
gpt4 key购买 nike

我有这种方法可以根据我使用的 EXTRA_STREAM 共享文本文件或图片。我有这两个我可以选择

i.putExtra(Intent.EXTRA_STREAM, uri);
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
调用 startActivity 时如何同时共享两者?
这是我的代码
public void shareTextAndPic(){

long x = getBundle();

Product product = db.findProductbyId(getBundle());


Bitmap icon = BitmapFactory.decodeByteArray(db.fetchSingle(x), 0,
db.fetchSingle(x).length);

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");

ContentValues values = new ContentValues();
values.put(Images.Media.TITLE, "title");
values.put(Images.Media.MIME_TYPE, "image/jpeg");
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI,
values);


OutputStream outstream;
try {
outstream = getContentResolver().openOutputStream(uri);
icon.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
outstream.close();
} catch (Exception e) {
System.err.println(e.toString());
}

//share.putExtra(Intent.EXTRA_STREAM, uri);
//startActivity(Intent.createChooser(share, "Share Image"));


File file = new File(way + "/momsfil.txt");
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.setType("image/jpeg");
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
i.putExtra(Intent.EXTRA_EMAIL, new String[] { "ttj@live.se" });
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT, "body of email");


//i.putExtra(Intent.EXTRA_STREAM, uri);

try {
startActivity(Intent.createChooser(i, "Share"));
} catch (android.content.ActivityNotFoundException e) {
Toast.makeText(TableRow.this,
"There are no email clients installed.",
Toast.LENGTH_SHORT).show();
}
}

最佳答案

查看this出去和this出去

内容 Uri 就是您所需要的。
无需使用文件 Uri。

将来其他应用程序可能希望避免读取文件 Uri 所需的 READ_EXTERNAL_STORAGE。所以你可以避开它们。

如果您只想共享不同类型的文件,请使用 ACTION_SEND_MULTIPLE

intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, yourUriArrayList);
intent.setType("*/*");

关于Android 共享 Intent EXTRA_STREAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33944944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com