Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Alarmmanager funktioniert nicht.

Das Thema "Alarmmanager funktioniert nicht." befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 25.01.2012, 18:07   #1 (permalink)
Neuer Benutzer

Registriert seit: 10.12.2011
Beiträge: 13
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Alarmmanager funktioniert nicht.

Hi,
wie bereits erwähnt, funktioniert der Alarmmanager weder auf meinem Handy noch auf nem Emulator. Es wird zwar der PendingIntent geschickt, aber es erfolgte keine Reaktion, bzw. kommt beim OnRecieve Event von AlarmReciever nie etwas an.

Ich habe folgende Klassen:

Test_Alarmmanager:
Code:
package test.alarmmanager;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Test_AlarmmanagerActivity extends Activity {
    private Button mButton;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        mButton = (Button) findViewById(R.id.button1);
        
        mButton.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                sendIntent();
                
                
            }
        });       
        
       
    }
    public void sendIntent() {
         Calendar cal = Calendar.getInstance();
            // add 5 minutes to the calendar object
            cal.add(Calendar.SECOND, 5);
            Intent intent = new Intent(this, AlarmReceiver.class);
            intent.putExtra("alarm_message", "O'Doyle Rules!");
            // In reality, you would want to have a static variable for the request code instead of 192837
            PendingIntent sender = PendingIntent.getBroadcast(this, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
            
            // Get the AlarmManager service
            AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
            am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
        
    }
}
AlarmReciever:
Code:
package test.alarmmanager;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import android.os.Bundle;
 
public class AlarmReceiver extends BroadcastReceiver {
 
 @Override
 public void onReceive(Context context, Intent intent) {
   try {
     Bundle bundle = intent.getExtras();
     String message = bundle.getString("alarm_message");
     Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
     Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show();
     e.printStackTrace();
 
    }
 }
 
}
Mein Manifest:
HTML-Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="test.alarmmanager"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
     <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:debuggable="true">
        <activity
            android:label="@string/app_name"
            android:name=".Test_AlarmmanagerActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver  android:process=":remote" android:name="AlarmReceiver"></receiver>
    </application>

</manifest>
Es wäre nett, wenn mir jemand einen Tip geben könnte woran es liegen könnte.
Vielen Dank.
Gruß
mc
mc-bain ist offline   Mit Zitat antworten
Alt 25.01.2012, 21:13   #2 (permalink)
Android-Hilfe.de Mitglied

Modell: Nexus S

Registriert seit: 30.09.2011
Beiträge: 137
Abgegebene Danke: 8
Erhielt 35 Danke für 33 Beiträge
Standard AW: Alarmmanager funktioniert nicht.

Der AlarmManager wird bei RTCWAKEUP versuchen sich ein wakelock zu holen um zu garantieren das onReceive() komplett durchläuft. Warum er das in diesem Fall nicht machen kann sag ich aber nicht
Eine Suche wird die Lösung aber sehr rasch manifestieren.

Geändert von strider (25.01.2012 um 21:17 Uhr)
strider ist offline   Mit Zitat antworten
Alt 26.01.2012, 23:30   #3 (permalink)
Neuer Benutzer

Registriert seit: 10.12.2011
Beiträge: 13
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Alarmmanager funktioniert nicht.

Danke für deine Antwort.
Ich konnte den Fehler in der Manifestdatei finden.
Es hatte der Punkt vor AlarmReciever gefehlt. Es muss heißen:
Code:
<reciever android:process =":remote" android:name=".AlarmReciever" />
mc-bain ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Service IBind, AlarmManager, AIDL... alexW Android App Entwicklung 3 04.12.2011 19:30
Android Market funktioniert nicht... Inet funktioniert perfekt Fabi27 Tarife / Provider für HTC Wildfire 2 01.06.2011 23:17
Neues HTC - Z - Internet funktioniert, aber Market Download funktioniert nicht smsstoffl HTC Desire Z Forum 1 14.03.2011 14:01
Prüfen ob Alarm (AlarmManager) aktiv ist Asfaloth Android App Entwicklung 2 18.01.2011 13:15
was funktioniert/funktioniert nicht bei euren ROM´s 2.2 TFT? afk009 Root / Hacking / Modding für ZTE Blade / OSF / Lutea 11 08.01.2011 15:27




Du liest gerade: "Alarmmanager funktioniert nicht." unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.