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 ответа:
Во-первых, что вы должны сделать, это получить путь к хранилищу изображений с помощью файла,
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 } }
Так что надеюсь, теперь вы получите полный код.