6

ich ein Alarmsystem mache, aber ich habe ein Problem, wenn das Telefon ausgeschaltet ist .. Der Alarm funktioniert nicht ..Alarmmanager, wenn das Telefon ausgeschaltet ist - ANDROID

Ich gründe de Alarm wie folgt:

public void doIntents(Context context, long milis, Tratam trat){ 
    cal=Calendar.getInstance(); 
    alarmManager = (AlarmManager) context.getSystemService(Service.ALARM_SERVICE); 

    cal.setTimeInMillis(milis); 
    Intent intent = new Intent(context, OnAlarmReceiver.class); 


    pendingIntent = PendingIntent.getBroadcast(context, trat.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    alarmManager.set(AlarmManager.RTC_WAKEUP,milis ,pendingIntent); 

} 

der Alarm Ok funktioniert, wenn das Telefon eingeschaltet ist ..

Was kann ich tun?

Vielen Dank!

+1

Was erwarten Sie von ihm? Schalten Sie das Telefon ein oder lösen Sie den Alarm aus, sobald das Telefon wieder eingeschaltet wird? –

+0

Ich möchte, dass der Wecker klingelt, auch wenn das Telefon ausgeschaltet ist. –

+2

das wäre nicht möglich, sein Linux und es verhält sich genau wie Ihr Linux-Desktop in dieser Angelegenheit – nandeesh

Antwort

6

Ja, das Problem ist, dass Ihre App nicht ausgeführt wird, wenn das Telefon neu gestartet wird. Sie müssen einen BroadcastReceiver registrieren, der die Nachricht BOOT_COMPLETED empfangen kann, damit er beim Neustart des Telefons eine Nachricht erhält. Dann können Sie im BroadcastReceiver entweder diese Alarme neu programmieren oder was auch immer. Aber ich glaube nicht, dass es alles, was Sie Ihren Alarmauslöser zu machen tun können, wenn das Telefon ausgeschaltet ist .. (zB macht das Telefon einschalten)

<receiver android:name="MyBootReceiver" 
     android:enabled="true" 
     android:exported="true" 
     android:label="BootReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED"></action> 

     </intent-filter> 
    </receiver> 
+0

Danke, ich weiß es .., aber .. Wie funktioniert der Android Alarm? Verwendet den AlarmManager nicht? –

+0

Ja, Sie müssen AlarmManager verwenden. – LuxuryMode

+0

Ja Ich benutze AlarmManager .. aber .. ist es unmöglich, dass ein Alarm ertönt, wenn das Telefon ausgeschaltet ist? –

3

Alarme werden gelöscht, wenn das Telefon ausgeschaltet und neu gestartet, aber Sie können Ihren Alarm mit BroadcastReceiver starten, der den BOOT_COMPLETED

In Manifest.xml: 

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <application ...> 
<receiver android:name="com.example.receiver.AlarmMonitorReceiver" 
       android:enabled="true" 
       android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED"/> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </receiver> 
</application> 

Java erhalten können:

public class AlarmMonitorReceiver extends BroadcastReceiver{ 
    public void onReceive(Context context,Intent intent) { 
    if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { 
     AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
     Intent intentAlarm = new Intent(context, ExampleReceiver.class); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentAlarm, 0); 
     Calendar time = Calendar.getInstance(); 
     time.setTimeInMillis(System.currentTimeMillis()); 
     time.add(Calendar.SECOND, 10); 
     alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(),10000,pendingIntent);   
    } 

    } 

}

Verwandte Themen