我已经设法获取屏幕截图并创建位图文件。 现在我想把它发送到一个特定的gmail(我的)。跑步时我没有收到任何错误,但也没有电子邮件。 我究竟做错了什么?我确信它有些愚蠢,但无法弄明白。 这是我的主要活动。
package com.example.publi.myapplication1;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
public class MainActivity extends AppCompatActivity {
TextView textView;
ImageView imageView;
Bitmap mbitmap;
Button captureScreenShot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
textView.setText("Thank you for Ordering ALMA");
captureScreenShot = (Button) findViewById(R.id.capture_screen_shot);
imageView = (ImageView) findViewById(R.id.imageView);
}
public void screenShot(View view) {
mbitmap = getBitmapOFRootView(captureScreenShot);
imageView.setImageBitmap(mbitmap);
createImage(mbitmap);
}
public Bitmap getBitmapOFRootView(View v) {
View rootview = v.getRootView();
rootview.setDrawingCacheEnabled(true);
Bitmap bitmap1 = rootview.getDrawingCache();
return bitmap1;
}
public void createImage(Bitmap bmp) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
File file = new File(Environment.getExternalStorageDirectory() +
"/capturedscreenandroid.jpg");
try {
file.createNewFile();
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(bytes.toByteArray());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void sendMail(String path) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[]{"my@gmail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Alma Test Mail");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"This is an autogenerated mail from Alma's InAppMail app");
emailIntent.setType("image/png");
Uri myUri = Uri.parse("file://" + path);
emailIntent.putExtra(Intent.EXTRA_STREAM, myUri);
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
}
}
我还添加了mail.jar,activation.jar,aditional.jar 与下面的清单一起
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>