是否可以使用Android共享对话框将图像和文本分享到facebook,Instagram和whatsapp?我试图用2个星期来做这个没有成功。我唯一能做的就是在不使用共享对话框的情况下编写一些foreach媒体代码。这是一些与whatsapp一起使用的代码,但不适用于insta和facebook
String DishImage = listDishes.get(selectedDish).getDishImage();
Picasso.with(this).load(DishImage).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bm, Picasso.LoadedFrom from) {
OutputStream fOut = null;
Uri outputFileUri;
try {
File root = new File(Environment.getExternalStorageDirectory() + File.separator + "FoodMana" + File.separator);
root.mkdirs();
File sdImageMainDirectory = new File(root, "myPicName.jpg");
fOut = new FileOutputStream(sdImageMainDirectory);
} catch (Exception e) {Toast.makeText(getApplicationContext(), "Error occured. Please try again later.", Toast.LENGTH_SHORT).show();}
try {
bm.compress(Bitmap.CompressFormat.PNG, 100, fOut);
fOut.flush();
fOut.close();
} catch (Exception e) {
}
Intent waIntent = new Intent(android.content.Intent.ACTION_SEND);
waIntent.setType("image/*");
waIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(Environment.getExternalStorageDirectory()
+ File.separator + "FoodMana" + File.separator + "myPicName.jpg"));
waIntent.putExtra(Intent.EXTRA_TEXT, "I am going to eat that dish!!!!!" + "\n" + "what do you think? check out");
startActivity(Intent.createChooser(waIntent, "Share with"));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.d("TAG","error");
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.d("TAG","prepared");
}
});
答案 0 :(得分:0)
我正在使用它来分享永远的链接
我从al_details.get(getLayoutPosition()).get(URL_WEB).toString()
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent shareintent = new Intent(Intent.ACTION_SEND);
shareintent.setType("text/plain");
shareintent.putExtra(Intent.EXTRA_TEXT,al_details.get(getLayoutPosition()).get(URL_WEB).toString());
mContext.startActivity(Intent.createChooser(shareintent,"Share Via"));
}
});
我从网上尝试过很多东西,但最后我做到了这一点。所以你可以尝试一次。
答案 1 :(得分:0)
好的,我找到了解决方案
String DishImage = listDishes.get(selectedDish).getDishImage();
Picasso.with(this).load(DishImage).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bm, Picasso.LoadedFrom from) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "Hey view/download this image");
String path = null;
path = MediaStore.Images.Media.insertImage(getContentResolver(), bm, "", null);
Uri screenshotUri = Uri.parse(path);
intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "Share image via..."));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.d("TAG","error");
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.d("TAG","prepared");
}
});