Заставка, первый запуск, gmail

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
meisron
Сообщения: 6
Зарегистрирован: 25 июл 2012, 12:43

Заставка, первый запуск, gmail

Сообщение meisron » 26 июл 2012, 11:54

Здравствуйте, спасибо за хороший сайт и отличные уроки.
Возникло несколько вопросов:

1)каким образом реализовать заставку (н/р как в opera mobile)?
2)как не захламляя MainActivity реализовать регистрацию/вход при первом включении программы?
3)как получить(узнать) аккаунт gmail, на который зарегистрирован андроид (видел при регистрации в скайпе)?

Спасибо.


UPD: второй вопрос отпал, вместо него:
2)как получить imei телефона, есть ли еще какие-то подобные неизменяемые параметры и как их получить?
Последний раз редактировалось meisron 26 июл 2012, 14:37, всего редактировалось 1 раз.

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: Заставка, первый запуск, gmail

Сообщение Finch » 26 июл 2012, 14:05

Заставка

Код: Выделить всё

package имя_пакета;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;

public class Splash extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setContentView(R.layout.имя_лэйаута); //твой лэйаут
		runMain();
	}

	class SplashHandler implements Runnable {
		public void run() {
			startActivity(new Intent(getApplication(), имя_активити.class)); //имя активности которая стартует после заставки
			finish(); //закрываем заставку
		}
	}

	private void runMain() {
		Handler splashNew = new Handler();
		splashNew.postDelayed(new SplashHandler(), 3000); //время заставки 3 секунды (3000 миллисек)
	}
}
манифест

Код: Выделить всё

<activity
            android:name="Splash"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
CEO of a company R.id.team

meisron
Сообщения: 6
Зарегистрирован: 25 июл 2012, 12:43

Re: Заставка, первый запуск, gmail

Сообщение meisron » 26 июл 2012, 14:29

Спасибо, только забыли сказать что вот это:

Код: Выделить всё

<activity
            android:name="Splash"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
нужно в манифесте указать перед основной активити ;)

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Заставка, первый запуск, gmail

Сообщение AndreyI » 26 июл 2012, 15:13

Скорее нужно убрать из фильтра в основной Activity
<action android:name="android.intent.action.MAIN" и <category android:name="android.intent.category.LAUNCHER" или совсем удалить фильтр, если там больше ничего не используется.
Иначе будет две точки входа в программу, со своими значками на рабочем столе))

Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Заставка, первый запуск, gmail

Сообщение andev » 26 июл 2012, 18:01

Если ставите заставку на 3 секунды то это будет люто бесить бОльшую половину юзеров. Добавьте на клик на экране досрочное закрытие

Аватара пользователя
povar
Сообщения: 37
Зарегистрирован: 12 дек 2013, 21:12

Re: Заставка, первый запуск, gmail

Сообщение povar » 29 дек 2013, 22:51

Спасибо за код
А подскажите пожалуйста как вставить картинку чтобы ее можно было на весь экран для заставки, и в какую папку ее надо закинуть?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Заставка, первый запуск, gmail

Сообщение altwin » 30 дек 2013, 12:28

meisron писал(а): 3)как получить(узнать) аккаунт gmail, на который зарегистрирован андроид (видел при регистрации в скайпе)?
UPD: второй вопрос отпал, вместо него:
2)как получить imei телефона, есть ли еще какие-то подобные неизменяемые параметры и как их получить?
по поводу второго вопроса, в манифест нужно добавить:
[syntax=xml]<uses-permission android:name="android.permission.READ_PHONE_STATE" />[/syntax],
и использовать:
[syntax=java]android.telephony.TelephonyManager.getDeviceId()[/syntax],
или:
[syntax=java]TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();[/syntax],
или используйте ANDROID_ID в случае если у устройства нет функции телефона:
[syntax=java]String identifier = null;
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE));
if (tm != null)
identifier = tm.getDeviceId();
if (identifier == null || identifier .length() == 0)
identifier = Secure.getString(activity.getContentResolver(),Secure.ANDROID_ID);[/syntax]
http://developer.android.com/reference/ ... ceId%28%29
хотя по сути вам это не нужно, лично я как пользователь задал бы вопрос - устанавливать ли приложение требующее такую информацию и как вы будете переносить информацию. если пользователь сменит девайс?
По поводу третьего вопроса - вам нужна авторизация пользователя с помощью google и получите все, что хотите - https://developer.android.com/google/pl ... /auth.html, если не понятно, как это сделать по докам, есть пример -http://www.javacodegeeks.com/2013/10/go ... gmail.html.

P.S. еще есть такая штука, как MEID или ESN, для CDMA телефонов, но тут думаю уже самостоятельно разберетесь. Уже заметил, как отвечаю на сообщение с датой(Добавлено: 26 июл 2012, 10:54)... мда, надо что -то с фильтром делать :)
Последний раз редактировалось altwin 30 дек 2013, 12:48, всего редактировалось 1 раз.
Изображение

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Заставка, первый запуск, gmail

Сообщение altwin » 30 дек 2013, 12:46

povar писал(а):Спасибо за код
А подскажите пожалуйста как вставить картинку чтобы ее можно было на весь экран для заставки, и в какую папку ее надо закинуть?
почему просто не использовать FullScreen Activity в качестве заставки и к примеру там просить логин? сорри за офтоп, но просто не люблю эти заставки и считаю, что информация о бренде(которая часто там отражается) мне как минимум не интересна до того, как я с продуктом познакомился, а если продукт хорош - сам пойду и все узнаю... А заставки с рекламой вообще убивают желание использовать.
Изображение

Аватара пользователя
povar
Сообщения: 37
Зарегистрирован: 12 дек 2013, 21:12

Re: Заставка, первый запуск, gmail

Сообщение povar » 31 дек 2013, 12:35

altwin писал(а):
почему просто не использовать FullScreen Activity в качестве заставки и к примеру там просить логин? сорри за офтоп, но просто не люблю эти заставки и считаю, что информация о бренде(которая часто там отражается) мне как минимум не интересна до того, как я с продуктом познакомился, а если продукт хорош - сам пойду и все узнаю... А заставки с рекламой вообще убивают желание использовать.
FullScreen Activit говорите?....надо будет попробовать

Ответить