2013-04-22 1 views
1

Все в порядке, если никто не звонит. Если я использую Opera или Gmail или другое приложение, все в порядке. И со временем начнется целевая тревога.Устранение тревоги не работает, если кто-то звонит

Intent i2 = new Intent(); 
i2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
pIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, i2, 0); 

curtimeset = System.currentTimeMillis(); 
am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC_WAKEUP, curtimeset + full, pIntent); //full time in mills when alarm will be on even from lock mode 

, когда время и время запуска таймера равны целевому времени. Цель приложения. Чтобы загрузить его с переднего плана.

public void instanceinitiale() { 
    Intent resumeIntent = new Intent(getApplicationContext(), Main.class); 
    resumeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
      | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    startActivity(resumeIntent); 

} 

Как загрузить мою тревогу несмотря ни на какие ситуации?)

ответ

0

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

public class AlarmService extends BroadcastReceiver { 

private final static String action="android.intent.action.ALARMHANDLERACTIVITY"; 
public AlarmService(){ 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 
    if(intent.getAction().compareTo(action)==0){ 
     context.startActivity(intent); 
    } 
} 




public void createAlarm(){ 
    Intent intent=new Intent("android.intent.action.ALARMHANDLERACTIVITY"); 
    intent.putExtra("eventID", Integer.valueOf(id)); 

    PendingIntent pendingIntent=PendingIntent.getActivity(context, 0, intent,0); 
    AlarmManager aManager=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 


    aManager.set(AlarmManager.RTC_WAKEUP, temp.getStartDate().getTimeInMillis(), pendingIntent); 
} 

} 

определить приемник wirte это приложение блока манифеста:

<receiver android:name=".alarmService.AlarmService"> 
     <intent-filter android:priority="200"> 
      <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     </intent-filter> 
    </receiver> 
+0

ТНХ вы! Я думаю, что я приспосабливаю его для своих нужд) – Druidman

+0

если это сработало, подумайте о том, чтобы принять ответ, чтобы помочь другим – bmavus