好吧,再一次,我在学习安卓的过程中,有点过头了。在最终开发了我的简单小应用程序之后,我正试图利用拥有本机应用程序的一些好处。
所以,项目一,做一个页面,可以通过电子邮件发送图像(从画廊或相机)
基本上是通过电子邮件选择和发送,但我甚至不知道从哪里开始。
我发现了一些别人在问的代码;
Android App Take/ Email Photo
我试过这个,但是从eclipse得到了各种错误,重放到下载的pic部分。
如果有人能看一看,并建议我最好的方式来做这件事,那将是惊人的。像往常一样,我为我的孩子们的愚蠢感到抱歉,但我想每个人都必须在某个地方学习
这是我目前的.java

public class Photos extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_photos);
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_photos, menu);
    return true;
}

这是我目前的.xml
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Please chose the options below to select and upload photos into the
    DCC for the selected project..."
    tools:context=".Photos"
    android:textAppearance="?android:attr/textAppearanceMedium" />


</LinearLayout>

最佳答案

首先要做的是使用文件获取图像存储路径,

 File *photo = new File(Environment.getExternalStorageDirectory()+"/Android/data/"+getApplicationContext().getPackageName()+"/Fault", imagename+".png");

然后将该文件路径转换为Uri
Uri imageuri = Uri.fromFile(photo);

最后使用imageuri通过电子邮件发送图像
Intent send_report = new Intent(Intent.ACTION_SEND);
                                        send_report.putExtra(Intent.EXTRA_EMAIL, new String[]{ email_emailid});
                                        send_report.putExtra(Intent.EXTRA_SUBJECT, email_subject);
                                        send_report.putExtra(Intent.EXTRA_STREAM, imageuri);
                                        send_report.putExtra(Intent.EXTRA_TEXT, email_body);
                                        send_report.setType("text/plain");
                                        send_report.setType("image/png");
                                        startActivityForResult(Intent.createChooser(send_report, "Choose an Email client"), 77);

希望有帮助。

关于android - Android App通过电子邮件发送图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13230739/

10-09 12:59