Android приложение для отправки изображений по электронной почте


Хорошо еще раз, я нахожусь в пути над моей головой здесь, изучая android. После того, как я наконец-то разработал свое простое маленькое приложение, я пытаюсь использовать некоторые преимущества наличия собственного приложения.

Итак, проект Один, сделайте страницу, которая может отправлять изображения по электронной почте (либо из галереи, либо с камеры)

По сути, это выбор и отправка по электронной почте, но я даже не знаю, с чего начать.

Я нашел какой-то код, о котором кто-то еще спрашивал в; Android App Take / Email Фото

Я пробовал это, но получаю всевозможные ошибки от eclipse, копируясь в разделdownloadedPic .

Если бы кто-нибудь мог посмотреть и посоветовать мне, как лучше всего это сделать, это было бы удивительно. Как обычно извиняюсь за свою начальную глупость, но я думаю, что каждый должен где-то учиться

ЭТО МОЕ .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>
2 2

2 ответа:

Во-первых, что вы должны сделать, это получить путь к хранилищу изображений с помощью файла,

 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);
Надеюсь, это поможет.

Сначала Получите Свое Изображение:

 // Get Image form mnt/sdcard/YOUR_FLODER/my_image.png    
    ImageView my_Image = (ImageView)findViewById(R.id.my_Image);    
    Imagepath="/sdcard/YOUR_FLODER/"+my_iamge+".png";
     bitmap = BitmapFactory.decodeFile(Imagepath);

Fetch mail address:

// This Will fetch merchant's Email id from Deivce.
    Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+

    AccountManager manager =(AccountManager)getSystemService(ACCOUNT_SERVICE);
    //Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts();
    Account[] accounts = manager.getAccounts();

    for (Account account : accounts) 
    {
        if (emailPattern.matcher(account.name).matches()) 
        {
             possibleEmail = account.name;
        }
    }

Отправить Событие Щелчка:

        Intent i = new Intent(android.content.Intent.ACTION_SEND);
        i.setType("image/png");
        i.putExtra(Intent.EXTRA_CC,new String[]{possibleEmail});  
        i.putExtra(android.content.Intent.EXTRA_SUBJECT, "Mail With Image attachment");
        startActivity(Intent.createChooser(i2, "Send Email..."));

В Конце Фотографии.java

public class Photos extends Activity
{
     @Override
public void onCreate(Bundle savedInstanceState) 
{
     super.onCreate(savedInstanceState);
    setContentView(R.layout.Activity_Photos);

          // your image fetching code
          // fetch mail code 
          // write button click event 
               // put intent code in click event

    }
}

Так что надеюсь, теперь вы получите полный код.