Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
#1

Завершаю первое приложение под анройд - Android

30.10.2015, 08:12. Просмотров 449. Ответов 15
Метки нет (Все метки)

Как легче всего реализовать обратную связь.
Необходимо оживить адрес электронной почты в активности о программе.
Т.е. вызвать почтарь используемый по умолчанию и впихать свой адрес в поле кому.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
30.10.2015, 08:29     Завершаю первое приложение под анройд #2
Смотрите
Код
android.intent.extra.EMAIL
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,069
30.10.2015, 10:17     Завершаю первое приложение под анройд #3
Свойства textview смотрите там есть такое.
Паблито
резкий
1958 / 1693 / 525
Регистрация: 12.05.2014
Сообщений: 6,038
Завершенные тесты: 1
30.10.2015, 10:23     Завершаю первое приложение под анройд #4
Java
1
2
3
4
5
6
7
        String[] mail = {getString(R.string.to_email)};
        Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("message/rfc822");
        share.putExtra(Intent.EXTRA_EMAIL, mail);
        share.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
        share.putExtra(Intent.EXTRA_TEXT, "msg body");
        startActivity(Intent.createChooser(share, "Send Email"));
можно типа так

ps: и мне кажется, правильно все же андроИд, там нет буквы "й"
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,069
30.10.2015, 10:37     Завершаю первое приложение под анройд #5
XML
1
2
3
<TextView android:id="@+id/tMailto" 
    android:autoLink="email"
    android:linksClickable="true" />
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
30.10.2015, 10:51  [ТС]     Завершаю первое приложение под анройд #6
Как можно ограничить намерения исключительно почтовым клиентом.
При вызове метода система предлагает выбрать из всех месседжеров(вацап, гмайл майл и прочие гадости умеющие отправлять хоть что то)
Java
1
2
3
4
5
6
7
private void callSendMeMail() {
        Intent Email = new Intent(Intent.ACTION_SEND);
        Email.setType("text/email");
        Email.putExtra(Intent.EXTRA_EMAIL, new String[]{"mail@mail.com" });
        Email.putExtra(Intent.EXTRA_SUBJECT, "ATM_Support");
        startActivity(Intent.createChooser(Email, "Отправить сообщение разработчику"));
    }
YuraAAA
 Аватар для YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
30.10.2015, 10:56     Завершаю первое приложение под анройд #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Russtem81, попробуйте
Java
1
Email.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
Паблито
резкий
1958 / 1693 / 525
Регистрация: 12.05.2014
Сообщений: 6,038
Завершенные тесты: 1
30.10.2015, 10:58     Завершаю первое приложение под анройд #8
у меня если вместо ACTION_SEND написать ACTION_SENDTO - предлагает только почтовый клиент
хорошо тем, что нет привязки именно к gmail, можно хоть yahoo использовать
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
30.10.2015, 11:04  [ТС]     Завершаю первое приложение под анройд #9
Email.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail"); это круто, работает.
при ACTION_SENDTO не совсем понял можно написать исключения на выбор среди почтовых клиентов?
Разберусь спасибо Всем, вопрос закрыт.
Паблито
30.10.2015, 11:33
  #10

Не по теме:

попробовал Email.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
согласен - это круто и работает спасибо, не знал

Rube
30.10.2015, 13:15
  #11

Не по теме:

Ага YuraAAA вабще крут

YuraAAA
30.10.2015, 13:57
  #12

Не по теме:

Это не я, это stackoverflow.com

disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 456
28.11.2015, 07:34     Завершаю первое приложение под анройд #13
сделал по указанным примерам, но если просто поменять на ACTION_SENDTO или добавить строку как YuraAAA предложил:

Java
1
2
3
4
5
6
7
8
9
10
 private void callSendMeMail() {
        Intent Email = new Intent(Intent.ACTION_SEND);
       String ms = (String) getResources().getText(R.string.toDevel);
        String ms2 = (String) getResources().getText(R.string.supp);
        Email.setType("text/email");
        Email.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
        Email.putExtra(Intent.EXTRA_EMAIL, new String[]{"123456l@gmail.com" });
        Email.putExtra(Intent.EXTRA_SUBJECT, ms2);
        startActivity(Intent.createChooser(Email, ms));
    }
то у меня в Android 4.4 вылетает окно "действие не поддерживается ни одним приложением", в чем может быть проблема?
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 456
30.11.2015, 11:58     Завершаю первое приложение под анройд #14
может кто-то знает что не так?
Spelcrawler
522 / 492 / 110
Регистрация: 12.03.2014
Сообщений: 1,643
Завершенные тесты: 1
30.11.2015, 15:58     Завершаю первое приложение под анройд #15
disx, вероятно не установлено приложение Gmail.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2015, 18:04     Завершаю первое приложение под анройд
Еще ссылки по теме:

Eclipse не запускает моё первое андроид приложение. В чём ошибка? Android
Android Первое android приложение с доступом к серверу
Первое приложение, нужно напутствие Android
Просьба обсудить первое приложение Android Android
Android Первое приложение

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 45
01.12.2015, 18:04  [ТС]     Завершаю первое приложение под анройд #16
Приведенные выше примеры решают задачу для ограниченной и определенной целевой аудитории.
Правильно перед запуском активности проверять ее наличие в системе пример в листинге(подробно глава 5 книги http://www.ozon.ru/context/detail/id/21469100/):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
      // Create the implicit Intent to use to start a new Activity.
      Intent intent = 
        new Intent(Intent.ACTION_DIAL, Uri.parse("tel:555-2368"));
 
      // Check if an Activity exists to perform this action.
      PackageManager pm = getPackageManager();
      ComponentName cn = intent.resolveActivity(pm);
      if (cn == null) {
        // If there is no Activity available to perform the action
        // Check to see if the Market is available.
        Uri marketUri =
          Uri.parse("market://search?q=pname:com.myapp.packagename");
        Intent marketIntent = new 
          Intent(Intent.ACTION_VIEW).setData(marketUri);
 
        // If the Market is available, use it to download an application
        // capable of performing the required action. Otherwise log an
        // error.
        if (marketIntent.resolveActivity(pm) != null)
          startActivity(marketIntent);
        else
          Log.d(TAG, "Market client not available.");
      } 
      else 
        startActivity(intent);
    }
Yandex
Объявления
01.12.2015, 18:04     Завершаю первое приложение под анройд
Ответ Создать тему
Опции темы

Текущее время: 22:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru