我有这段代码:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
startActivity(intent);
将在Android上成功启动消息应用程序。
但是如何在启动意图时附加Bitmap对象?
我看过http://developer.android.com/reference/Android/content/Intent.html, 我需要的东西是EXTRA_STREAM,就像这样:
intent2.putExtra(Intent.EXTRA_STREAM,_uri);
但我的情况是,我有一个Bitmap对象的引用,而不是Bitmap的URI。
请告诉我如何附加Bitmap对象?
答案 0 :(得分:26)
String pathofBmp = Images.Media.insertImage(getContentResolver(), bitmap,"title", null);
Uri bmpUri = Uri.parse(pathofBmp);
final Intent emailIntent1 = new Intent( android.content.Intent.ACTION_SEND);
emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent1.putExtra(Intent.EXTRA_STREAM, bmpUri);
emailIntent1.setType("image/png");
其中位图是您的位图对象,必须存储在SD卡中。然后使用该Uri进行共享图像。
答案 1 :(得分:22)
您必须先将位图保存到文件中。您可以将其保存到应用程序的缓存
def knapsack(J, R, J`):
potential_solutions = []
for j in J:
if R > resources_used_by(j):
potential_solutions.push( knapsack(J - j, R - resources_used_by(j), J' + j) )
else:
return J', R
return best_solution_of(potential_solutions)
答案 2 :(得分:1)
试试这可能会对你有所帮助:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
yourbitmapimagename.compress(CompressFormat.PNG, 0, bos);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_STREAM, bos.toByteArray());
startActivity(intent);
答案 3 :(得分:-12)
String cc=trlink.toString();
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT,cc);
startActivity(Intent.createChooser(share,"Share Text"));