2015-01-11 1 views
0

Я использую ниже код для запуска диалогового окна предупреждения. Это хорошо работает иногда & несколько раз это не так.Запуск диалогового окна предупреждения несколько раз работает, а некоторое время он не

`Intent alarmIntent = новое намерение (" android.intent.action.MAIN ");

 alarmIntent.setClass(ct, AlertsDlgactivity.class); 
     alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

     // Pass on the alarm ID as extra data 
     // Start the popup activity 
     ct.startActivity(alarmIntent);` 

Кроме того, несколько раз несколько экземпляров диалога появляется, любая помощь о том, как работать над этим

+0

Почему вы начинаете свою деятельность в качестве новой задачи? Что происходит, когда он не «работает хорошо»? –

+0

Вам не нужна еще одна активность, чтобы показывать предупреждения. – IronBlossom

+0

Но оно должно отображаться в качестве диалогового окна оповещения, как только появляется уведомление, например, как триггеры тревоги. Здесь я очищаю объект AlertDialog в oncreate & show content. – Naruto

ответ

0

Не видя весь код, я не знаю, как вы пытаетесь сделать это, так что я я обеспечивая простую функцию, чтобы использовать диспетчер Alarm:

public void scheduleAlarm(int year,int month,int day,int hr,int min,int sec, String message, int _id) 
 
    { 
 
     long future = new GregorianCalendar(year,month,day,hr,min,sec).getTimeInMillis(); 
 
     Intent intentAlarm = new Intent(this, AlarmReciever.class); 
 
     intentAlarm.putExtra("_MESSAGE",message); 
 
     AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
 
     alarmManager.set(AlarmManager.RTC_WAKEUP, future, 
 
       PendingIntent.getBroadcast(this, _id, intentAlarm, PendingIntent.FLAG_ONE_SHOT)); 
 
     Toast.makeText(this, "Alarm Scheduled", Toast.LENGTH_LONG).show(); 
 
    }

И это было бы AlarmReciever.class

public class AlarmReciever extends BroadcastReceiver 
 
{ 
 
    @Override 
 
    public void onReceive(Context context, Intent intent) 
 
    { 
 
     //Use this to get variables passed from Main Activity 
 
     String message = intent.getStringExtra("_MESSAGE"); 
 
     
 
     //Do some stuff here 
 
    } 
 
}

Также не забудьте добавить их в манифесте:

<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> 
 

 
<application 
 
      <receiver android:name=".AlarmReciever"/> 
 

 
</application>

Смежные вопросы