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

Что вернёт метод простого класса - Android

Восстановить пароль Регистрация
 
OLLEGATOR
Linux-оид
 Аватар для OLLEGATOR
115 / 64 / 3
Регистрация: 15.02.2011
Сообщений: 353
02.08.2015, 00:17     Что вернёт метод простого класса #1
доброго времени суток.

Имеем простой класс.

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
28
29
30
31
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.util.Patterns;
import java.util.regex.Pattern;
 
public class Android_info extends Activity{
 
    static String mail="lillo";
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        Pattern emailPattern = Patterns.EMAIL_ADDRESS;
        Account[] accounts = AccountManager.get(this).getAccounts();
        for (Account account : accounts) {
            if (emailPattern.matcher(account.name).matches()) {
                mail = account.name;
            }
        }
 
    }
 
    public static String return_mail(){
        return mail;                        // должен вернуться gmail аккаунта
    }
 
 
}
Подскажите пожалуйста что вернет метод return_mail ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2015, 00:17     Что вернёт метод простого класса
Посмотрите здесь:

Запуск класса Android
Пример простого http- запроса Android
Ошибка при создании простого браузера из примера Android
Ошибка при запуске простого приложения Android
Вызвать метод класса Android
Как запустить метод из другого класса? Android
Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Android
Android Как достать из textView, что что сейчас отображает ViePager
Android Вызов класса из класса
Notiffic из класса Android
Android Вызов класса
Исходники для простого чата Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Snezhok_Snezhok
4 / 4 / 1
Регистрация: 01.08.2015
Сообщений: 9
02.08.2015, 05:40     Что вернёт метод простого класса #2
Цитата Сообщение от OLLEGATOR Посмотреть сообщение
Подскажите пожалуйста что вернет метод return_mail ?
Так написано же в комментах

Добавлено через 23 минуты
Цикл пройдётся по массиву и присвоить переменной "mail" адрес последнего в массиве (т.к аккаунтов может быть куча, и не только жимыловские) почтового ящика.
Если надо именно gmail.com, то как то так можно:
Java
1
String gmailAcc = (AccountManager.get(this).getAccountsByType("com.google"))[0].name;
OLLEGATOR
Linux-оид
 Аватар для OLLEGATOR
115 / 64 / 3
Регистрация: 15.02.2011
Сообщений: 353
02.08.2015, 21:13  [ТС]     Что вернёт метод простого класса #3
Snezhok_Snezhok, спасибо за оптимизацию в одну строчку,но я пробовал и свой вариант и ваш.
дело в том, что в любом случае у меня mail содержит в себе значение "lillo". хотя должен быть mail.

запускаю на андроиде 5.1.1, произведён вход в аккаунт Google.

собственно вариант , который пробовал

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Android_info extends Activity{
 
    static String mail="lillo";
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        mail = (AccountManager.get(this).getAccountsByType("com.google"))[0].name;
 
    }
 
    public static String return_mail(){
        return mail;
    }
 
 
}
Snezhok_Snezhok
4 / 4 / 1
Регистрация: 01.08.2015
Сообщений: 9
03.08.2015, 08:09     Что вернёт метод простого класса #4
Я забыл вчера сказать, в файле манифеста нужно прописать просьбу о разрешении на работу с контактами:
XML
1
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
OLLEGATOR
Linux-оид
 Аватар для OLLEGATOR
115 / 64 / 3
Регистрация: 15.02.2011
Сообщений: 353
03.08.2015, 17:03  [ТС]     Что вернёт метод простого класса #5
на данный момент добавлено в манифест:

XML
1
2
3
4
5
6
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.INTERNET"/>
то же самое... возвращает lillo

а можно все как-то вынести из метода onCreate в метод return_mail?

я так догадываюсь, что JNI технология не вызывает метод onCreate, поскольку явно вызывается только метод return_mail.
Yandex
Объявления
03.08.2015, 17:03     Что вернёт метод простого класса
Ответ Создать тему
Опции темы

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