RemoteViews aktualisieren sich nicht trotz AlarmManager.

C

coreytaylor211

Fortgeschrittenes Mitglied
5
Hallo wie die Themen Überschrift schon sagt habe ich ein Problem mit den remoteViews.

Es handelt sich um ein Widget also nix besonderes, ich versuche einfach das sich ImageViews sichtbar und unsichtbar machen je nach Akkustand.

Desweitern versuche ich das dass alles in einem Abstand von UNTER 30min geht.

Hier mal der Code:
Code:
    private final float BATTERY_SCHRITTE = 72;
        interface elements
    private RemoteViews widgetViews = new RemoteViews("de.nureinbeispiel", R.layout.battery_widget);
    public static final int UPDATETIME = 1;

   
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
    {
          ComponentName meinWidget = new ComponentName(context,
                    meineklasse.class);
                
                  for (int widgetId : appWidgetManager.getAppWidgetIds(meinWidget)) {
                
                   //remote view holen
                   RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
                     R.layout.battery_widget);

                  
                   remoteViews.setTextViewText(R.id.text_level, Utility.getCurrentTime("hh:mm:ss a"));
                   remoteViews.setImageViewResource(R.id.oben4, 0);
                   remoteViews.setImageViewResource(R.id.oben3, 0);
                   remoteViews.setImageViewResource(R.id.oben2, 0);
                   remoteViews.setImageViewResource(R.id.oben1, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts4, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts3, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts2, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts1, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts2_4, 0);
                   remoteViews.setImageViewResource(R.id.obenrechts2_3, 0);
                   remoteViews.setImageViewResource(R.id.imageView12, 0);
                   remoteViews.setImageViewResource(R.id.imageView13, 0);
                   remoteViews.setImageViewResource(R.id.imageView14, 0);
                   remoteViews.setImageViewResource(R.id.imageView15, 0);
                   remoteViews.setImageViewResource(R.id.imageView16, 0);
                   remoteViews.setImageViewResource(R.id.imageView17, 0);
                   remoteViews.setImageViewResource(R.id.imageView18, 0);
                   remoteViews.setImageViewResource(R.id.imageView19, 0);
                   remoteViews.setImageViewResource(R.id.imageView20, 0);
                   remoteViews.setImageViewResource(R.id.imageView21, 0);
                   remoteViews.setImageViewResource(R.id.imageView22, 0);
                   remoteViews.setImageViewResource(R.id.imageView23, 0);
                   remoteViews.setImageViewResource(R.id.imageView24, 0);
                   remoteViews.setImageViewResource(R.id.imageView25, 0);
                   remoteViews.setImageViewResource(R.id.imageView26, 0);
                   remoteViews.setImageViewResource(R.id.imageView27, 0);
                   remoteViews.setImageViewResource(R.id.imageView28, 0);
                   remoteViews.setImageViewResource(R.id.imageView29, 0);
                   remoteViews.setImageViewResource(R.id.imageView30, 0);
                   remoteViews.setImageViewResource(R.id.imageView31, 0);
                   remoteViews.setImageViewResource(R.id.imageView32, 0);
                   remoteViews.setImageViewResource(R.id.imageView33, 0);
                   remoteViews.setImageViewResource(R.id.imageView34, 0);
                   remoteViews.setImageViewResource(R.id.imageView35, 0);
                   remoteViews.setImageViewResource(R.id.imageView36, 0);
                   remoteViews.setImageViewResource(R.id.imageView37, 0);
                   remoteViews.setImageViewResource(R.id.imageView38, 0);
                   remoteViews.setImageViewResource(R.id.imageView39, 0);
                   remoteViews.setImageViewResource(R.id.imageView40, 0);
                   remoteViews.setImageViewResource(R.id.imageView41, 0);
                   remoteViews.setImageViewResource(R.id.imageView42, 0);
                   remoteViews.setImageViewResource(R.id.imageView43, 0);
                   remoteViews.setImageViewResource(R.id.imageView44, 0);
                   remoteViews.setImageViewResource(R.id.imageView45, 0);
                   remoteViews.setImageViewResource(R.id.imageView46, 0);
                   remoteViews.setImageViewResource(R.id.imageView47, 0);
                   remoteViews.setImageViewResource(R.id.imageView48, 0);
                   remoteViews.setImageViewResource(R.id.imageView49, 0);
                   remoteViews.setImageViewResource(R.id.imageView50, 0);
                   remoteViews.setImageViewResource(R.id.imageView51, 0);
                   remoteViews.setImageViewResource(R.id.imageView52, 0);
                   remoteViews.setImageViewResource(R.id.imageView53, 0);
                   remoteViews.setImageViewResource(R.id.imageView54, 0);
                   remoteViews.setImageViewResource(R.id.imageView55, 0);
                   remoteViews.setImageViewResource(R.id.imageView56, 0);
                   remoteViews.setImageViewResource(R.id.imageView57, 0);
                   remoteViews.setImageViewResource(R.id.imageView58, 0);
                   remoteViews.setImageViewResource(R.id.imageView59, 0);
                   remoteViews.setImageViewResource(R.id.imageView60, 0);
                   remoteViews.setImageViewResource(R.id.imageView61, 0);
                   remoteViews.setImageViewResource(R.id.imageView62, 0);
                   remoteViews.setImageViewResource(R.id.imageView63, 0);
                   remoteViews.setImageViewResource(R.id.imageView64, 0);
                   remoteViews.setImageViewResource(R.id.imageView65, 0);
                   remoteViews.setImageViewResource(R.id.imageView66, 0);
                   remoteViews.setImageViewResource(R.id.imageView67, 0);
                   remoteViews.setImageViewResource(R.id.imageView68, 0);
                   remoteViews.setImageViewResource(R.id.imageView69, 0);
                   remoteViews.setImageViewResource(R.id.imageView70, 0);
                   remoteViews.setImageViewResource(R.id.imageView71, 0);
                   remoteViews.setImageViewResource(R.id.imageView72, 0);
                   remoteViews.setImageViewResource(R.id.imageView73, 0);
                   appWidgetManager.updateAppWidget(widgetId, remoteViews);
                  }
       
       
       


        Intent received = context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
           
        String receivedAction = received.getAction();
       
        if (receivedAction.equals(Intent.ACTION_BATTERY_CHANGED))
        {
               
            int level = received.getIntExtra("level", 0);
   
            this.widgetViews.setTextViewText(R.id.text_level, level+"%");
            this.widgetViews.setImageViewResource(R.id.oben4, 0);
               this.widgetViews.setImageViewResource(R.id.oben3, 0);
               this.widgetViews.setImageViewResource(R.id.oben2, 0);
               this.widgetViews.setImageViewResource(R.id.oben1, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts4, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts3, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts2, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts1, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts2_4, 0);
               this.widgetViews.setImageViewResource(R.id.obenrechts2_3, 0);
               this.widgetViews.setImageViewResource(R.id.imageView12, 0);
               this.widgetViews.setImageViewResource(R.id.imageView13, 0);
               this.widgetViews.setImageViewResource(R.id.imageView14, 0);
               this.widgetViews.setImageViewResource(R.id.imageView15, 0);
               this.widgetViews.setImageViewResource(R.id.imageView16, 0);
               this.widgetViews.setImageViewResource(R.id.imageView17, 0);
               this.widgetViews.setImageViewResource(R.id.imageView18, 0);
               this.widgetViews.setImageViewResource(R.id.imageView19, 0);
               this.widgetViews.setImageViewResource(R.id.imageView20, 0);
               this.widgetViews.setImageViewResource(R.id.imageView21, 0);
               this.widgetViews.setImageViewResource(R.id.imageView22, 0);
               this.widgetViews.setImageViewResource(R.id.imageView23, 0);
               this.widgetViews.setImageViewResource(R.id.imageView24, 0);
               this.widgetViews.setImageViewResource(R.id.imageView25, 0);
               this.widgetViews.setImageViewResource(R.id.imageView26, 0);
               this.widgetViews.setImageViewResource(R.id.imageView27, 0);
               this.widgetViews.setImageViewResource(R.id.imageView28, 0);
               this.widgetViews.setImageViewResource(R.id.imageView29, 0);
               this.widgetViews.setImageViewResource(R.id.imageView30, 0);
               this.widgetViews.setImageViewResource(R.id.imageView31, 0);
               this.widgetViews.setImageViewResource(R.id.imageView32, 0);
               this.widgetViews.setImageViewResource(R.id.imageView33, 0);
               this.widgetViews.setImageViewResource(R.id.imageView34, 0);
               this.widgetViews.setImageViewResource(R.id.imageView35, 0);
               this.widgetViews.setImageViewResource(R.id.imageView36, 0);
               this.widgetViews.setImageViewResource(R.id.imageView37, 0);
               this.widgetViews.setImageViewResource(R.id.imageView38, 0);
               this.widgetViews.setImageViewResource(R.id.imageView39, 0);
               this.widgetViews.setImageViewResource(R.id.imageView40, 0);
               this.widgetViews.setImageViewResource(R.id.imageView41, 0);
               this.widgetViews.setImageViewResource(R.id.imageView42, 0);
               this.widgetViews.setImageViewResource(R.id.imageView43, 0);
               this.widgetViews.setImageViewResource(R.id.imageView44, 0);
               this.widgetViews.setImageViewResource(R.id.imageView45, 0);
               this.widgetViews.setImageViewResource(R.id.imageView46, 0);
               this.widgetViews.setImageViewResource(R.id.imageView47, 0);
               this.widgetViews.setImageViewResource(R.id.imageView48, 0);
               this.widgetViews.setImageViewResource(R.id.imageView49, 0);
               this.widgetViews.setImageViewResource(R.id.imageView50, 0);
               this.widgetViews.setImageViewResource(R.id.imageView51, 0);
               this.widgetViews.setImageViewResource(R.id.imageView52, 0);
               this.widgetViews.setImageViewResource(R.id.imageView53, 0);
               this.widgetViews.setImageViewResource(R.id.imageView54, 0);
               this.widgetViews.setImageViewResource(R.id.imageView55, 0);
               this.widgetViews.setImageViewResource(R.id.imageView56, 0);
               this.widgetViews.setImageViewResource(R.id.imageView57, 0);
               this.widgetViews.setImageViewResource(R.id.imageView58, 0);
               this.widgetViews.setImageViewResource(R.id.imageView59, 0);
               this.widgetViews.setImageViewResource(R.id.imageView60, 0);
               this.widgetViews.setImageViewResource(R.id.imageView61, 0);
               this.widgetViews.setImageViewResource(R.id.imageView62, 0);
               this.widgetViews.setImageViewResource(R.id.imageView63, 0);
               this.widgetViews.setImageViewResource(R.id.imageView64, 0);
               this.widgetViews.setImageViewResource(R.id.imageView65, 0);
               this.widgetViews.setImageViewResource(R.id.imageView66, 0);
               this.widgetViews.setImageViewResource(R.id.imageView67, 0);
               this.widgetViews.setImageViewResource(R.id.imageView68, 0);
               this.widgetViews.setImageViewResource(R.id.imageView69, 0);
               this.widgetViews.setImageViewResource(R.id.imageView70, 0);
               this.widgetViews.setImageViewResource(R.id.imageView71, 0);
            this.widgetViews.setImageViewResource(R.id.imageView72, 0);
            this.widgetViews.setImageViewResource(R.id.imageView73,0);
               
            showBars(level);
       
               
            ComponentName appComponent = new ComponentName(context, meineklasse.class);
               
            AppWidgetManager.getInstance(context).updateAppWidget(appComponent, this.widgetViews);
       
        }
    }

Die ganzen "this.widgetViews.setImageResource" habe ich nur zum Test drin weil eigentlich gebe ich oben ja schon das komplette Layout an.


Und hier mein BroadcastReceiver
Code:
 @Override
public void onReceive(Context context, Intent intent) {
  PowerManager powerM = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
  PowerManager.WakeLock wakeL = powerM.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "YOUR TAG");
 
  wakeL.acquire();
  //Update Widget, remoteView erzeugen
  RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
    R.layout.battery_widget);
  remoteViews.setTextViewText(R.id.text_level, Utility.getCurrentTime("hh:mm:ss a"));
  remoteViews.setImageViewResource(R.id.oben4, 0);
  remoteViews.setImageViewResource(R.id.oben3, 0);
  remoteViews.setImageViewResource(R.id.oben2, 0);
  remoteViews.setImageViewResource(R.id.oben1, 0);
  remoteViews.setImageViewResource(R.id.obenrechts4, 0);
  remoteViews.setImageViewResource(R.id.obenrechts3, 0);
  remoteViews.setImageViewResource(R.id.obenrechts2, 0);
  remoteViews.setImageViewResource(R.id.obenrechts1, 0);
  remoteViews.setImageViewResource(R.id.obenrechts2_4, 0);
  remoteViews.setImageViewResource(R.id.obenrechts2_3, 0);
  remoteViews.setImageViewResource(R.id.imageView12, 0);
  remoteViews.setImageViewResource(R.id.imageView13, 0);
  remoteViews.setImageViewResource(R.id.imageView14, 0);
  remoteViews.setImageViewResource(R.id.imageView15, 0);
  remoteViews.setImageViewResource(R.id.imageView16, 0);
  remoteViews.setImageViewResource(R.id.imageView17, 0);
  remoteViews.setImageViewResource(R.id.imageView18, 0);
  remoteViews.setImageViewResource(R.id.imageView19, 0);
  remoteViews.setImageViewResource(R.id.imageView20, 0);
  remoteViews.setImageViewResource(R.id.imageView21, 0);
  remoteViews.setImageViewResource(R.id.imageView22, 0);
  remoteViews.setImageViewResource(R.id.imageView23, 0);
  remoteViews.setImageViewResource(R.id.imageView24, 0);
  remoteViews.setImageViewResource(R.id.imageView25, 0);
  remoteViews.setImageViewResource(R.id.imageView26, 0);
  remoteViews.setImageViewResource(R.id.imageView27, 0);
  remoteViews.setImageViewResource(R.id.imageView28, 0);
  remoteViews.setImageViewResource(R.id.imageView29, 0);
  remoteViews.setImageViewResource(R.id.imageView30, 0);
  remoteViews.setImageViewResource(R.id.imageView31, 0);
  remoteViews.setImageViewResource(R.id.imageView32, 0);
  remoteViews.setImageViewResource(R.id.imageView33, 0);
  remoteViews.setImageViewResource(R.id.imageView34, 0);
  remoteViews.setImageViewResource(R.id.imageView35, 0);
  remoteViews.setImageViewResource(R.id.imageView36, 0);
  remoteViews.setImageViewResource(R.id.imageView37, 0);
  remoteViews.setImageViewResource(R.id.imageView38, 0);
  remoteViews.setImageViewResource(R.id.imageView39, 0);
  remoteViews.setImageViewResource(R.id.imageView40, 0);
  remoteViews.setImageViewResource(R.id.imageView41, 0);
  remoteViews.setImageViewResource(R.id.imageView42, 0);
  remoteViews.setImageViewResource(R.id.imageView43, 0);
  remoteViews.setImageViewResource(R.id.imageView44, 0);
  remoteViews.setImageViewResource(R.id.imageView45, 0);
  remoteViews.setImageViewResource(R.id.imageView46, 0);
  remoteViews.setImageViewResource(R.id.imageView47, 0);
  remoteViews.setImageViewResource(R.id.imageView48, 0);
  remoteViews.setImageViewResource(R.id.imageView49, 0);
  remoteViews.setImageViewResource(R.id.imageView50, 0);
  remoteViews.setImageViewResource(R.id.imageView51, 0);
  remoteViews.setImageViewResource(R.id.imageView52, 0);
  remoteViews.setImageViewResource(R.id.imageView53, 0);
  remoteViews.setImageViewResource(R.id.imageView54, 0);
  remoteViews.setImageViewResource(R.id.imageView55, 0);
  remoteViews.setImageViewResource(R.id.imageView56, 0);
  remoteViews.setImageViewResource(R.id.imageView57, 0);
  remoteViews.setImageViewResource(R.id.imageView58, 0);
  remoteViews.setImageViewResource(R.id.imageView59, 0);
  remoteViews.setImageViewResource(R.id.imageView60, 0);
  remoteViews.setImageViewResource(R.id.imageView61, 0);
  remoteViews.setImageViewResource(R.id.imageView62, 0);
  remoteViews.setImageViewResource(R.id.imageView63, 0);
  remoteViews.setImageViewResource(R.id.imageView64, 0);
  remoteViews.setImageViewResource(R.id.imageView65, 0);
  remoteViews.setImageViewResource(R.id.imageView66, 0);
  remoteViews.setImageViewResource(R.id.imageView67, 0);
  remoteViews.setImageViewResource(R.id.imageView68, 0);
  remoteViews.setImageViewResource(R.id.imageView69, 0);
  remoteViews.setImageViewResource(R.id.imageView70, 0);
  remoteViews.setImageViewResource(R.id.imageView71, 0);
  remoteViews.setImageViewResource(R.id.imageView72, 0);
  remoteViews.setImageViewResource(R.id.imageView73, 0);
 
  ComponentName thiswidget = new ComponentName(context, meineklasse.class);
  AppWidgetManager manager = AppWidgetManager.getInstance(context);
  manager.updateAppWidget(thiswidget, remoteViews);
 
 
  wakeL.release();
}

Vielen Dank schon einmal für eure Hilfe.
 
Hat keiner eine Idee ? Oder ist die Frage so doof das Sie keiner beantworten möchte :D

Ich hoffe mir kann da doch noch jemand helfen.

Mit freundlichen grüßen
 
hey,

du hast auch einfach Code hingeschrieben und dein Problem nicht umrissen. Wo genau liegt das Problem dass es nciht funktioniert? Konntest du es schon etwas eingrenzen welche Codestellen nciht so funktionieren wie du willst?...etc. pp.

lg

ilja
 
  • Danke
Reaktionen: coreytaylor211
Hallo ich wollte das Thema mal wieder zum leben erwecken,
Hier mal ein Update was genau jetzt für ein Problem vorliegt.

Der code wie oben ist fast noch der selbe außer ein Paar kleine Änderungen die aber nicht weiter wichtig sind.
Der Code klappt wunderbar es wird alles aufgerufen was soll. (Alle remoteviews werden angezeigt und das update geht auch)

Jetzt zu dem Problem seit android 5.1 wird der Code auch noch komplet aufgerufen ( in LogCat extra nachgeschaut) aber es wird kein einziges remoteView mehr angezeigt von beginn an.
Um es noch ein wenig besser zu beschreiben, sobald ich das Widget auf den homescreen setzte wird nix angezeigt außer der Rahmen.(wird ja von der xml Datei bereitgestellt)

Die anderen bilder ca 72 Stück (remoteViews) werden überhaut nicht mehr angezeigt, obwohl der Code normal durchlaufen wird.

Daher bitte ich um Hilfe weil ich einfach nicht versthe was sich ab version 5.1 so geändert hat.
 
Hmm hat wirklich keiner eine Idee oder ist das Problem immer noch nicht richtig beschrieben worden ?


Nach langer google Suche habe ich etwas gefunden wo es dran liegen könnte hier mal die Zeile die vielleicht Probleme macht
Code:
alarmM.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000 * 4, 60000, pendingI);

Ich habe mir die Zeile 100 mal angeschaut aber einen Fehler konnte ich nicht finden. Zumal wie oben schon gesagt der Code bis Android Version 5.0 (API21) wunderbar lief.
 
Zuletzt bearbeitet:
Ok, habe das Problem gefeunden aber noch nicht gelöst die methode
Code:
     public void onEnabled(Context context) {
      super.onEnabled(context);
      AlarmManager alarmM=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
      Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
      PendingIntent pendingI = PendingIntent.getBroadcast(context, 0, intent, 0);
      //After after 3 seconds
      alarmM.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000 * 4, 60000, pendingI);
         //Toast.makeText(context, "onEnabled called", Toast.LENGTH_SHORT).show();
     }
soll ja die
Code:
AlarmManagerBroadcastReceiver.class
aufrufen damit die RemoteViews erzeugt bzw. geupdatet werden.

Ich habe in der AlarmManagerBroadcastReceiver.class einen Toast eingefügt, dieser erscheint aber nicht.

Hier mal meine Manifest
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.platzhalter"
    android:versionCode="2"
    android:versionName="1.1" >
    <uses-sdk android:minSdkVersion="19"/>



    <uses-permission android:name="android.permission.BATTERY_STATS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <application android:label="@string/app_name" android:icon="@drawable/battery"
                 android:allowBackup="false">
            <receiver android:icon="@drawable/battery"
                     android:label="@string/app_name"
                     android:name=".Battery">
                <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
                    <action android:name="android.intent.action.BATTERY_CHANGED"/>
                </intent-filter>
                <meta-data android:name="android.appwidget.provider"
                android:resource="@xml/battery_widget_info"/>
            </receiver>
</application>

</manifest>

Nochmal zur Erinnerung bis Android 5.0 (API 21) lief der Code wunderbar.

Vielen Dank für eure Hilfe.
 
Der AlarmManager ist die falsche Klasse, um so etwas umzusetzen. Denn setzt man eigentlich nur ein, wenn man Event zu einem bestimmten Zeitpunkt auszuführen.
Ich zitiere mal aus der API:
Note: The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler.
Du kannst es entweder mit ein Handler umsetzen (Methode postDelay()). Handler | Android Developers

Oder wenn du es kontinuierlich die Views updaten möchtest, gibt es die Klasse Timer oder CountDownTimer.

Timer | Android Developers
CountDownTimer | Android Developers
 
  • Danke
Reaktionen: coreytaylor211
Lieben dank schonmal für den Hinweiß, könntest du mir denn sagen woran es liegt das es vorher alles geklappt hat ?
Ich bin hier echt am verzweifeln.
 
Seit Android 4.4 schraubt Google an den Stromverbrauch der Geräte. Eine der Folgen war, das der Alarmmanager sich teilweise sich anders verhält. Der Zeitpunkt, wenn der Alarm ausgelöst wird, ist nicht mehr exakt (Und auf manchen Geräte funktionierte er gar nicht mehr richtig).
Note: as of API 19, all repeating alarms are inexact. If your application needs precise delivery times then it must use one-time exact alarms, rescheduling each time as described above. Legacy applications whose targetSdkVersion is earlier than API 19 will continue to have all of their alarms, including repeating alarms, treated as exact.
AlarmManager | Android Developers

Am besten du benutzt folgende Klasse:
CountDownTimer | Android Developers

Du muss den CountDownTimer nur beenden, wenn du die Activity oder das Fragment beendest.
 
  • Danke
Reaktionen: coreytaylor211
Ja genau das hatte ich auch schon gelesen, aber ich dachte mit
setExact würde das gehen bzw. ab api 23 mit
setExactAndAllowWhileIdle.

Also werde ich das Problem mit dem aktuellen Verfahren nicht hinbekommen ?

Um die neue Klasse nutzen zu können müsste ich ja massive änderungen am Code durchführen.

Aber tzotzdem schon einmal vielen Dank für die gute Hilfe.
 
Hallo hat jemand schon was zu dem Problem herausfinden können ?

Es kann ja nicht sein das dieses Problem nur bei mir auftritt oder ?
 
nabend ,

Markus hat ja schon alles versucht dir zu helfen und ich kann auch nicht auf anhieb erkennen , wo der Fehler liegen soll..
Auch der Vergleich mit meinen lauffähigen Initialisierungen des AlarmManagers (bis zu 6.01) kann ich keinen groben Fehler erkennen.

Ich vermute mal , dass der Hund in deiner Widget/GUI begraben ist.
Nimms mir nicht übel, aber dein Quellcode ist nicht vollständig genug , um unsererseits einen Fehler zu analysieren und wäre dann auch zu umfangreich für eine Forenhilfe. Wir können also nur orakeln.

In solchen Verzweiflungs-Stunden gehe ich erst mal hin und lege mir ein neues Projekt an und mache mit ein reines Core-Projekt
mit der Technik und gebe einfache Logs aus.
Erst dann , wenn der Mist dann zu 100% läuft , adde ich die GUI Stück für Stück hinzu.
Meistens führt das - zumindest bei mir - zum Erfolg und der triviale Fehler kommt aus der Ecke hervorgekrochen

lg
Stefan
 
Zuletzt bearbeitet:
coreytaylor211 schrieb:
Hallo hat jemand schon was zu dem Problem herausfinden können ?

Es kann ja nicht sein das dieses Problem nur bei mir auftritt oder ?


Doch, das kann schon sein. Wie oben schon gesagt, ist der Weg über den AlarmManager falsch. Du willst ja nur den Akkustand anzeigen.
Vielleicht helfen Dir folgende Links:

Monitoring the Battery Level and Charging State | Android Developers
Get battery level and state in Android

Wie Du in den Beispielen siehst, funktioniert das ganze mit einem Receiver. Der wird nur bei Veränderungen aufgerufen, die übergebenen Daten sind immer aktuell.
 
@Markus ...

noch zittern in den Fingern gehabt ? :) :)

P.S nur so nebenbei : ich frage aber auch direkt den BatterieLevel ab , allerdings in einem Service (Alarmgetriggert)
Ich benötige jedoch keine ständige Statusänderung (Receiver)
 
Zuletzt bearbeitet:
Mein Browser mochte mich nicht. :( Habe die doppelten Einträge gelöscht.
 
Ich habe das jetzt mal komplett neu gemacht, aber das Ergebnis ist leider das gleiche.
Ich gehe langsam davon aus das es ein Fehler in der Api selber ist. ( was den Ablauf angeht)

Das Problem ist der Android Support antwortet mir nicht :(
 

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
997
swa00
swa00
M
Antworten
3
Aufrufe
205
moin
M
SpeedySix
Antworten
13
Aufrufe
1.408
jogimuc
J
Zurück
Oben Unten