任何帮助,我将被挪用的想法。 大家好,很抱歉这几天问了很多问题。 我设计了简单的Android应用程序,使用相机并显示图片是在布局上拍摄的。看附图。
一旦我点击“打开相机”按钮,它将弹出相机,询问用户按下相机按钮拍摄或拍照。我需要的是,一旦相机打开,它应该自己拍照,不用相机按钮,Idn是否可能。
如图所示的下一个问题,如果用户喜欢,则需要用户干预才能按OK。在这一步中,我需要拍摄一张照片,一旦拍摄,应该回到主要活动。并将图片存储在图像视图中。
最后一个请求或想法的人如何将此图片发送给用户的电子邮件干扰。 这是代码-----------------------------------
public class MainActivity extends Activity {
ImageView viewpict;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpict=(ImageView) findViewById(R.id.pict_result);
Button btn= (Button)findViewById(R.id.camera);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
// Intent intent = new Intent (getApplicationContext(),MainActivity2.class);
//startActivity(intent);
startActivityForResult(intent,0);
}
});
}
protected void onActivityResult( int requestCode, int resultCode,Intent data)
{
if (requestCode==0)
{
Bitmap theimage = (Bitmap) data.getExtras().get("data");
viewpict.setImageBitmap(theimage);
}
}
}
答案 0 :(得分:2)
首先,您必须将该位图保存到SD卡,然后才能将该图像附加到电子邮件中。
将位图保存到sdcard是
FileOutputStream out = null;
try {
out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance
// PNG is a lossless format, the compression factor (100) is ignored
} catch (Exception e) {
e.printStackTrace();
}
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
然后您可以阅读该图片并附加到电子邮件
答案 1 :(得分:1)
通过邮件发送图片, 你可以用这个:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("application/image");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "Test Email");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Test Subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "From My App");
emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file:///mnt/sdcard/Myimage.jpeg"));
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
答案 2 :(得分:1)
在你的onActivityResult方法中,你应该打开一个新的Activity来查看图像预览,一个带有带有imageview,ok和cancel按钮的xml。
将您的位图发送到此活动并将其放入其imageview中 - 预览活动可以具有静态位图ImagePreview属性。
按下确定后,您应该将图像保存到SD卡,然后发送电子邮件,如@Moubeen所述。
答案 3 :(得分:1)
您可以将位图转换为外部存储空间中的PNG。
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File imageFile = new File(path, getCurrentTime()+ ".png");
FileOutputStream fileOutPutStream = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.PNG, 80, fileOutPutStream);
fileOutPutStream.flush();
fileOutPutStream.close();
然后,您将通过url.Parse()获取URI。你可以分享。
Uri.parse("file://" + imageFile.getAbsolutePath());
Intent intent= new Intent(android.content.Intent.ACTION_SEND);
intent.setType("application/image");
intent.putExtra(android.content.Intent.EXTRA_EMAIL, "Email");
intent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Your Subject");
intent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + imageFile.getAbsolutePath()));
startActivity(Intent.createChooser(intent, "mail sending"));