通过android应用程序共享谷歌地图静态图像
我正在开发一款android应用程序,在那里我得到了很长的时间,我想把它发送到电子邮件和facebook上 一种方法是共享谷歌静态图像url通过android应用程序共享谷歌地图静态图像,android,google-maps,android-intent,Android,Google Maps,Android Intent,我正在开发一款android应用程序,在那里我得到了很长的时间,我想把它发送到电子邮件和facebook上 一种方法是共享谷歌静态图像url 但是我们可以从这个静态url附加图像并通过电子邮件或facebook发送吗…这是您可以使用的代码,基本上是使用WebView拍摄快照并将其保存在某处 private static Bitmap pictureDrawable2Bitmap(PictureDrawable pictureDrawable){ Bitm
但是我们可以从这个静态url附加图像并通过电子邮件或facebook发送吗…这是您可以使用的代码,基本上是使用
WebView
拍摄快照并将其保存在某处
private static Bitmap pictureDrawable2Bitmap(PictureDrawable pictureDrawable){
Bitmap bitmap = Bitmap.createBitmap(pictureDrawable.getIntrinsicWidth(),pictureDrawable.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawPicture(pictureDrawable.getPicture());
return bitmap;
}
public void getImage()
{
WebView web=(WebView)findViewById(R.id.your_webviews_id);
Picture p=web.capturePicture();
SharedPreferences prefs=con.getSharedPreferences("File_COUNT", con.MODE_PRIVATE);
//int count=prefs.getInt(//"COUNT", 0);
long rand= System.currentTimeMillis();
File root=new File(Environment.getExternalStorageDirectory()+"/Maps");
root.mkdirs();
File save_img=new File(root.getAbsolutePath()+"/"+rand+".png");
//OutputStream os;
try {
Bitmap bmp = pictureDrawable2Bitmap(new PictureDrawable(p));
FileOutputStream out = new FileOutputStream(save_img.getAbsolutePath());
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
Toast.makeText(con, "Save successful", Toast.LENGTH_SHORT).show();
Intent shareIntent = new Intent(Intent.ACTION_SEND);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String type = mime.getMimeTypeFromExtension("png");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(save_img));
shareIntent.setType(type);
startActivity(Intent.createChooser(shareIntent, "Share Using"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Toast.makeText(con, "File not able to be saved. Please restart app", Toast.LENGTH_SHORT).show();
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(con, "I/O error", Toast.LENGTH_SHORT).show();
}
}
因此,要发送电子邮件,只需将此图像附加到电子邮件并调用电子邮件
Intent
。对于facebook,您可以使用graph API直接使用URL。但对于电子邮件,您必须将位图保存在设备中,或者只将url发送到邮件中。为此,根据fb的设计,在fb上无法实现意图,因此我将尝试使用fb android sdk的graph api,对于其他电子邮件,我将首先将位图保存在设备上,然后附加,感谢共享信息。