2012-04-05 2 views
1

В моем приложении есть два варианта открытия приложения. Один из них открывает приложение вручную и начинает воспроизведение аудиопотока, а другой - установить AlarmManager, который запустит одну и ту же активность за определенное время.Как определить, была ли активность открыта AlarmManager?

Я понял, что для приостановки приложения я должен использовать AlarmManager. Мне нужно определить, как пользователь открыл приложение (сам по себе с помощью AlarmManager или вручную).

Спасибо.

ответ

0

Extend Application класс и создать статическое поле, которое может использоваться в качестве флага (начато с активности или с AM) .. и затем создавать геттеры и сеттеры ... теперь set it true if started from actvity false if from Alarm manager .. Преимущество здесь - класс приложения будет виден всем по заявке и является одним экземпляром, ..

+0

Какой класс должен распространяться на приложение? – micyunu

+0

Просто создайте свой собственный класс и расширьте Application .. любой класс .. – ngesh

+0

Как установить флаг false? все обратные вызовы в классе активности проходят onCreate в обоих случаях – micyunu

0

Я считаю, что вы можете указать намерение при планировании запуска приложения с помощью AlarmManager. Если вы укажете действие намерения, отличное от android.intent.action.MAIN, вы сможете определить, как было запущено приложение.