AlarmReceiver wird nicht getriggert

  • Antworten:19
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 4

12.06.2016, 18:04:23 via Website

Hallo zusammen,

ich möchte alle 5 Minuten im Hintergrund die Sensoren meines Handys abfragen und in einer SQLite Datenbank speichern.

MainActivity onCreate:

    Intent intent = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 0, intent, 0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pendingIntent);

Receiver:

public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    Toast.makeText(context,
            "AlarmReceiver.onReceive()",
            Toast.LENGTH_LONG).show();
}

}

Manifest:

 <receiver android:name=".AlarmReceiver" android:process=":remote" />

<service android:name=".MyAlarmService"
    android:enabled="true" />

Das Toast wird allerdings nie angezeigt. Jemand eine Idee, woran das liegt? Ich habe auch schon probiert, zu currentTimeMillis z.B. 5000 hinzuzufügen, bringt nichts.

Viele Grüße
Martina

— geändert am 12.06.2016, 18:12:54

Antworten
  • Forum-Beiträge: 434

13.06.2016, 00:26:54 via Website

Hallo,
würde den Alarm einrichten wie es hier beschrieben wird..
Besondere Beachtung würde ich der vollqualifizierenden(?) Packagekennung geben, also "com.company.name.bla.MyAlarm"

LG

Open Source

Antworten
  • Forum-Beiträge: 4

14.06.2016, 16:02:45 via Website

Hi,
habe ich gemacht. Was meinst du mit der vollqualifizierenden Packagekennung?
Am Anfang meiner manifest Datei habe ich:

<manifest xmlns:android=xxx/apk/res/android"
package="de.xxx.xxx">

In der Alarm.SetAlarm Methode aus dem Beispiel habe ich Debug Messages eingebaut, aber es wird nur bis zur Hi 3 geprintet. Danach gehts nicht weiter. Einmal wurden alle Hi Nachrichten bis auf 4 geprintet.

public void SetAlarm(Context context)
{
    Log.d("hi", "HI 1");
    AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
    Log.d("hi", "HI 2");
    Intent i = new Intent(context, AlarmReceiver.class);
    Log.d("hi", "HI 3");
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
    Log.d("hi", "HI 4");
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5, pi); // Millisec * Second * Minute
    Log.d("hi", "HI 5");
}

Meine manifest komplett:

<?xml version="1.0" encoding="utf-8"?>

package="de.xxx.xxx">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".SleepEntryEditActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
    </activity>
</application>

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<receiver android:name=".AlarmReceiver" android:process=":remote" />
<receiver android:name=".AutoStart">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>

<service android:name=".MyAlarmService"
    android:enabled="true"
    android:process=":alarm_service" />

In meiner MainActivity ruf ich das so auf:

 AlarmReceiver alarm = new AlarmReceiver();
    alarm.SetAlarm(getApplicationContext());

— geändert am 14.06.2016, 16:17:27

Antworten
  • Forum-Beiträge: 434

14.06.2016, 21:37:28 via Website

Das habe ich oben mit dem Beispiel versucht zu erklären.. Also dass du die Packages mit bei der Deklarierung im Manifest nennst. Also anstatt des Kürzels

.MyAlarmReceiver

besser

de.xxx.xxx.MyAlarmReceiver  

schreiben...

Open Source

Antworten
  • Forum-Beiträge: 434

14.06.2016, 21:38:01 via Website

PS: ich schaue mir später aber deinen Code nochmal genauer an..

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 11

14.06.2016, 21:49:47 via Website

Welch blöder Service für Neulinge, nix kann man machen :-)

Martina, ich kann dir leider noch keine PN schicken (zwecks sendung meiner klassen-° Sensor & Alarmreciever & Service)

Wenn du sie haben magst , bitte kontaktieren

lg
Stefan

Edit by Mod Pascal: Mail aus spamschutzgründen entfernt. Bitte Kontakt hier im Thread.

— geändert am 23.06.2016, 10:57:28 durch Moderator

Antworten
  • Forum-Beiträge: 434

14.06.2016, 22:34:32 via Website

Stefan T

Martina, ich kann dir leider noch keine PN schicken (zwecks sendung meiner klassen-° Sensor & Alarmreciever & Service)

Warum stellst du deinen Code nicht auf Github? Das hin und her schicken von Code (am besten noch inkl. "gen" Ordner) ist so ziemlich das unnötigste wie man heute Traffic und Speicherplatz in Email Postfächern zu spammen kann. ^^

— geändert am 14.06.2016, 22:35:49

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 11

14.06.2016, 23:00:33 via Website

Hallo,

a) Weil ich github grundsätzlich nicht benutze ..... (auch es niemals tun werde)
b) Wieso gehst du davon aus , dass ich unnötiges Zeugs mitschicke ? Habe ich davon gesprochen ? ich denke nicht :-)

Ich stelle es jedem frei, Hilfe anzunehmen - jedoch wie ich sie anbiete, möchte ich eigentlich selbst entscheiden :-)
Das Forum entscheidet ja auch , dass ich noch keine PN und weiter Dinge erfassen darf :-)

lg
Stefan

Antworten
  • Forum-Beiträge: 434

14.06.2016, 23:28:28 via Website

Hehe, nimms mir nicht übel, aber wenn ich deinen Vorschlag mit dem TimerThread lese, kann ich dir nur raten Github zu nutzen. Immerhin ist die Wahrscheinlichkeit um ein Vielfaches größer, dass man dir noch die ein oder andere wichtige Info mitteilt bzw. deinen Code ausbessert.
Aber du hast vollkommen recht, keiner kann dich daran hindern deinen zusammengewurschtelten Code im dunklen Zimmer geheim zu halten und auf Request per Mail durch die einsame Nacht zu schicken. :D

Und wie heißt es so schön: "Sag niemals 'nie'." ;)

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 11

15.06.2016, 00:07:19 via Website

Sag, ohne hier Schärfe zu generieren .....

In deinen Antworten verbirgt sich ein leichtes "dieser Idiot" & "ich bin eh der Beste".
Vielleicht ist es von dir nicht so beabsichtigt , aber es kommt definitv so an .

Nun , ich verdiene seit über 20 Jahren meine Brötchen mit Entwicklung und ich habe durchaus meine Gründe, warum
Github nicht die eierlegende Sau ist und weshalb ich es nicht verwende :-)

Und weil wir gerade dabei sind : was soll bitteschön an einem Hinweis auf einen Standard Runnable & postDelayed falsch sein ??
Klär uns auf, warum man es nicht verwenden sollte....

lg
Stefan

Antworten
  • Forum-Beiträge: 434

15.06.2016, 03:12:56 via Website

Wenn dir meine Antworten zu krass sind, tuts mir leid, verletzend oder aggressiv sind sie nicht gemeint, wahrscheinlich muss ich da etwas an meiner Ausdrucksweise ändern.

Was an dem Thread-Vorschlag alles ungünstig ist, habe ich ja aufgeführt und gehört auch nicht hier rein (wie der Großteil unserer Diskussion, aber dafür bin ich vermutlich leider ebenfalls verantwortlich, weil ich mit Github angefangen habe).

Ist ja auch egal jetzt... Wäre schön zu wissen, ob der AlarmReceiver nun getriggert wird. :)

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 11

15.06.2016, 07:11:04 via Website

Moin Moin - jetzt bin ich auch wieder wach, um Antworten zu können :-)

Vorab erst mal ein kleines "Sorry" an Martina für unsere "Männerdiskussion" - das Angebot besteht jedoch immer noch :-)

Pepp - zu Dir : Alles wird gut , wenn man Dich wahrscheinlich kennt, biste wahrscheinlich mehr als erträglich :-)

Kurz zu deiner "timer" ausführung :

Du wirst es nicht glauben , aber ich stimme deinen Ausführungen dort zu 100% zu.

Jedoch ist der TE offensichtlich ein Anfänger, Ihm möchte in seinem Falle geholfen werden , damit er erst mal weiter kommt. Da bringt es ihm mE recht wenig , wenn er von einem Profi eine Technik auf den Tisch geknallt bekommt , von der er noch nie gehört hat und bei der sich erst mal sehr lange schlau machen muss, bevor er zum Ziel kommt. (lt. seinem Profilbild ist der Kerle erst um die 13-15 Jahre alt !!!)

Manchmal ist es deshalb besser, etwas vorzuschlagen, was derjenige umsetzen könnte - auf die Gefahren kann man ja durchaus erst mal hinweisen.

Jemand schreibt ja in diesem Portal, weil er nicht mehr weiter weis und dann braucht man keine Belehrung , sondern Hilfe & Denkanstösse.
(So wie in meinem API Falle)
Man(n) muss auch nicht beweisen , was man schon alles an Wissen hat, sondern sollte seine Erfahrung gezielt & portioniert weitergeben.

So mache ich es zumindest regelmässig bei meinen Schützlingen, irgendwann mal kommen sie selbst drauf und sind stolz, dass
sie das selbst noch besser gemacht haben.

Und NUR dadurch generiert man auch gute Entwickler ..... oder sollen wir etwa die Welt alleine regieren ? :-)

Keep it (first) simple as possible

— geändert am 15.06.2016, 09:25:51

Antworten
  • Forum-Beiträge: 4

22.06.2016, 19:04:04 via Website

Hallo zusammen,

danke für eure Hilfe. Leider bekomme ich das nicht hin, ich habe auch schon die "namespaces" in der Manifest Datei angepasst.
Hier ist der Downloadlink von der App: ....

Liebe Grüße
Martina

— geändert am 28.06.2016, 15:15:40

Antworten
  • Forum-Beiträge: 359

23.06.2016, 08:11:22 via Website

Stefan T

Sag, ohne hier Schärfe zu generieren .....

In deinen Antworten verbirgt sich ein leichtes "dieser Idiot" & "ich bin eh der Beste".
Vielleicht ist es von dir nicht so beabsichtigt , aber es kommt definitv so an .

Nun , ich verdiene seit über 20 Jahren meine Brötchen mit Entwicklung und ich habe durchaus meine Gründe, warum
Github nicht die eierlegende Sau ist und weshalb ich es nicht verwende :-)

Und weil wir gerade dabei sind : was soll bitteschön an einem Hinweis auf einen Standard Runnable & postDelayed falsch sein ??
Klär uns auf, warum man es nicht verwenden sollte....

lg
Stefan
Sorry konnte es mir nicht verkneifen hier was zu schreiben...
Dann bau dir deinen eigen Git Server auf !
Ich zum Beispiel nutze Github, hab aber auf meinem eigenen Server auch noch ein private geschlossenes Gitlab laufen...
Auf dem ich bei Bedarf Leute freischalten kann...

Aber ich muss zustimmen... des mit Mail verwirrt denk ich mehr als das es hilft...

— geändert am 23.06.2016, 08:14:19

Antworten
Gelöschter Account
  • Forum-Beiträge: 11

23.06.2016, 10:28:02 via Website

Hallo Fabian,

da stimme ich dir voll und ganz zu.

Bitte bedenke aber , dass zum Zeitpunkt meines Angebotes ich weder

1) ihr eine PN erstellen konnte
2) noch einen Link zum Sourcecode veröffentlichen durfte
3) und weitere Angaben (z.b. E-Mail Adresse) wurden durch euch Mods direkt aus meinem Post kommentarlos gelöscht.

Ergo : Drei Versuche, ihr zu helfen schlugen also fehl !!

Auch habe ich es auch dann vermieden , etliche Zeilen Source zu posten und den Thread zuzumüllen.

Wenn also kein Bedarf besteht , anderen Usern "auf dem schnellen Wege" - mit Hintergrund der hier zur Verfügung gestellten Mitteln zu diesem Zeitpunkt - zu helfen, dann bitte ich dies zu entschuldigen.

Der Hinweis von Pepp, einen github-server aufzusetzen - lediglich um Martina zu helfen - erscheint mir allerdings zu viel des Guten zu sein.
(Seinem studentischem Verbesserungstrieb in allen Ehren)

Man bekommt recht schnell den Eindruck , dieses Forum lebt vom "rumnölen" und den "Zurechtweisungen" .

Ich werde mich in Zukunft dementsprechend gerne zurückhalten und meine Hilfsbereitschaft dreimal überlegen :-)

lg
Stefan

— geändert am 23.06.2016, 11:19:35

Antworten
Ludy
  • Mod
  • Blogger
  • Forum-Beiträge: 7.164

23.06.2016, 10:53:54 via Website

Hallo Stefan,

zu 1.
leider musste das System so ausgestattet werden um "Einmal-Spam-Nachrichten" zu verhindern.
Momentan bist du in der Lange PN's zu schreiben, wenn das nicht klappen sollte einmal aus- und wieder einloggen.

zu 2.
Es gibt den Weg des http:// wegzulassen oder im Mio Thread mit zuzählen oder im Café mal "Hallo" sagen ;)

zu 3.
Zitat von Pascal: "Edit by Mod Pascal: Mail aus spamschutzgründen entfernt. [...]" siehe hier. (smug)

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

Lebensmittelwarnung App-Thread

Download Samsung Firmware Tool

pepperonasPascal P.

Antworten
  • Forum-Beiträge: 359

23.06.2016, 11:55:21 via Website

Man bekommt recht schnell den Eindruck , dieses Forum lebt vom "rumnölen" und den "Zurechtweisungen" .

Ich werde mich in Zukunft dementsprechend gerne zurückhalten und meine Hilfsbereitschaft dreimal überlegen :-)

lg
Stefan

Sorry da muss ich aber wiedersprechen.
Ich finde in dies Forum wird so gut wie überhaupt nicht "rumgenölt" wird.
Und nicht gleich auf den Schlips getreten fühlen...
Es ist super, das du deine Hilfe anbietest!

Gruß

— geändert am 23.06.2016, 12:56:28

pepperonas

Antworten
  • Forum-Beiträge: 434

23.06.2016, 22:08:47 via Website

Stefan T

Wenn also kein Bedarf besteht , anderen Usern "auf dem schnellen Wege" - mit Hintergrund der hier zur Verfügung gestellten Mitteln zu diesem Zeitpunkt - zu helfen, dann bitte ich dies zu entschuldigen.

Das hat auch keiner zum Ausdruck bringen wollen.

Der Hinweis von Pepp, einen github-server aufzusetzen - lediglich um Martina zu helfen - erscheint mir allerdings zu viel des Guten zu sein.
(Seinem studentischem Verbesserungstrieb in allen Ehren)

Naja... so habe ich das nicht unbedingt gemeint. Ich glaube du hast das komplette Prinzip von Open Source nicht so recht auf dem Schirm. Mein Vorschlag war, dass du generell einen Großteil deines Codes öffentlich machst und somit bei Problemen immer wieder darauf verweisen kannst. Im Gegenzug wird dein Code öfter "gesehen" und das teils auch von Leuten, die sich u.U. sogar in manchen Bereichen besser auskennen als du selbst. Besagte Leute werden dich auf Verbesserungen ansprechen, bzw. diese sogar eigenständig durchführen (kannst ja mal nachlesen was ein Pull-Request ist).

Man bekommt recht schnell den Eindruck , dieses Forum lebt vom "rumnölen" und den "Zurechtweisungen" .

Das kann ich für meinen Teil ebenfalls nicht bestätigen. Schade, dass es dir nach so kurzer Zeit schon so vorkommt (vielleicht waren meine Worte an anderer Stelle doch zu direkt, falls das so ist bitte ich um Entschuldigung und soll nicht mehr vorkommen).

Ich werde mich in Zukunft dementsprechend gerne zurückhalten und meine Hilfsbereitschaft dreimal überlegen :-)

Naja, dir wurde hier doch auch schon geholfen, oder nicht? Also mit 11 Beiträgen schon so was vom Stapel zu lassen, finde ich vielleicht doch etwas unverhältnismäßig - selbst ich würde mich mit 350 Beträgen mit solchen Aussagen noch auf hauchdünnes Eis begeben.. Kannst dir ja mal Pascals oder Ludys Beitragsanzahl ansehen und wenn du gerade 5 min. Zeit hast, kannst du gleich mal recherchieren, wie viel die beiden fragen und wie oft sie helfen und in welcher Qualität manche Beiträge geschrieben sind.

Grüße
Martin

Open Source

LudyPascal P.

Antworten
  • Forum-Beiträge: 4

28.06.2016, 15:16:29 via Website

Hab das Problem selbst gelöst. Aber scheint ja keinen zu interessieren.

Antworten

Empfohlene Artikel