как всплыть тревога, даже когда приложение закрыто

1

Я разрабатываю оповещение о местоположении, которое является приложением для Android.

Вся часть кодирования выполнена.

Но диалоговое окно предупреждения не отображается, когда приложение закрыто.

Пожалуйста, помогите мне, я пытаюсь выставить будильник, даже когда пользователь использует другое приложение или находится на главном экране.

Код моей тревоги на данный момент показан ниже:

final MediaPlayer mp = MediaPlayer.create(LocAlarmProject.this, R.raw.airtel); 

mp.start();         

// LocAlarmProject.this below is what causing the problem:
final AlertDialog.Builder builder=new AlertDialog.Builder(LocAlarmProject.this);

builder.setTitle(disp_title);

builder.setMessage(disp_desc);

builder.setIcon(R.drawable.alarm);

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {                        

     mp.stop();

}

 });

 builder.show();
  • 0
    Вы должны создать упражнение и стилизовать его как диалог. Вы не можете открыть диалог, созданный закрытой активностью.
  • 0
    Я новичок в Android. не имея большого представления об этом. Можете ли вы сообщить мне об этом или дать любую ссылку, чтобы я мог ее кодировать. Я пытаюсь это с 2-х дней. пожалуйста помоги.
Показать ещё 1 комментарий
Теги:
android-alertdialog

3 ответа

1
Лучший ответ

Я уверен, что вы ищете Сервис.

Скопировано и вставить:

Служба - это компонент приложения, представляющий либо приложение, желающее выполнить более длительную работу, не взаимодействуя с пользователем, либо предоставляя функциональные возможности для использования другими приложениями. Каждый класс сервиса должен иметь соответствующее объявление в своем пакете AndroidManifest.xml. Сервисы можно запустить с помощью Context.startService() и Context.bindService().

1

Используйте службу уведомлений, чтобы отслеживать статус..... посетите... http://developer.android.com/guide/topics/ui/notifiers/notifications.html

0

Правильный способ сделать это требует нескольких шагов. Извините, это не тривиально, если вы этого не сделали раньше:

Во-первых, вы собираетесь использовать Android- AlarmManager для планирования времени, в которое вы хотите активировать свое приложение. Вы планируете новый будильник со временем для пробуждения и PendingIntent.

Во-вторых, создайте свой PendingIntent который использовался для активации вашего приложения в течение времени, чтобы показать будильник.

В-третьих, вы можете справиться с этим намерением несколькими способами, наиболее распространенным является создание класса, который расширяет BroadcastReceiver для получения Intent. Этот класс уведомляется, когда ему нужно показать будильник. Предназначение, которое вы создали и разместили внутри вашего PendingIntent, передается его onReceive(). Вы передаете эту информацию в свое приложение, чтобы отобразить диалоговое окно предупреждения. --- Вы также можете просто зарегистрировать основное приложение, чтобы вместо этого принять намерение, а затем переопределить метод onNewIntent(Intent) в своей деятельности.

Четыре, зарегистрируйте свой BroadcastReceiver в вашем файле AndroidManifest.xml. Это также место, где можно зарегистрировать этот приемник для прослушивания созданного вами намерения. Вы делаете это с помощью <intent-filter>.

Пять (необязательно), если вы хотите, чтобы ваш сигнал тревоги отображался, даже если телефон спит, и вы хотите убедиться, что он не возвращается в режим сна до того, как пользователь подтвердит сигнал тревоги, вам нужно получить WAKE_LOCK, чтобы сделать так.

Причина, по которой это предпочтительнее использовать Сервис, - это не потреблять ресурсы только для того, чтобы дождаться тревоги, а также она по-прежнему работает, если Android решит убить ваше приложение, освобождая память. Удачи и счастливого кодирования!

  • 0
    Но мое приложение не основано на времени. Это место на основе одного. При изменении местоположения я хочу, чтобы всплыла сигнализация.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню