C
coreytaylor211
Fortgeschrittenes Mitglied
- 5
Hallo ich hoffe ihr hattet ein schönes Fest 
So nun zu meinem Problem, wie im Titel schon beschrieben versuche ich ein Widget zu basteln nur komme ich an dem Punkt nicht weiter.
Daher werde ich den Code einfach mal reinstellen.
Der Plan soll sein das er den Akkuladestand erfragen soll und je nach stand ImageViews auf Visible stellen nur da passiert nix.
Wer noch mehr Infos brauch nur sagen.
Vielen Dank schonmal und einen guten Rutsch.
So nun zu meinem Problem, wie im Titel schon beschrieben versuche ich ein Widget zu basteln nur komme ich an dem Punkt nicht weiter.
Daher werde ich den Code einfach mal reinstellen.
Code:
public class EvEBattery extends AppWidgetProvider {
private ImageView iV1,iV2,iV3,iV4,iV5,iV6,iV7,iV8,iV9,iV10,iV11,iV12,iV13,iV14,iV15,iV16,iV17,iV18,iV19,iV20,iV21,iV22,iV23,iV24,iV25,iV26,iV27,iV28,iV29,iV30,iV31,iV32,iV33,iV34,iV35,iV36,iV37,iV38;
int currentLevel, scale;
int level ;
Handler h = new Handler();
ImageView[] ids = {iV2,iV3,iV4,iV5}; // ,iV6,iV7,iV8,iV9,iV10,iV11,iV12,iV13,iV14,iV15,iV16,iV17,iV18,iV19,iV20,iV21,iV22,iV23,iV24,iV25,iV26,iV27,iV28,iV29,iV30,iV31,iV32,iV33,iV34,iV35,iV36,iV37,iV38
public void getBattery(){
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
level = 0;
h.post(new Runnable() {
@Override
public void run() {
if (currentLevel >= 0 && scale > 0){
level = (currentLevel * 100) / scale;
if (level <= ids.length){
for(int j = level ; j<=ids.length ; j++){
ids[j].setVisibility(ids[j].VISIBLE);
break;
}
}else
for (int k = level ;k>=ids.length;k--){
ids[k].setVisibility(ids[k].VISIBLE);
break;
}
Log.d(String.valueOf(level),"Level");
}
}
});
}
};
iV1.setImageResource(R.drawable.battery);
iV2.setImageResource(R.drawable.oben4);
iV2.setVisibility(View.INVISIBLE);
iV3.setImageResource(R.drawable.oben3);
iV3.setVisibility(View.INVISIBLE);
iV4.setImageResource(R.drawable.oben2);
iV4.setVisibility(View.INVISIBLE);
iV5.setImageResource(R.drawable.oben1);
iV5.setVisibility(View.INVISIBLE);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds){
super.onUpdate(context, appWidgetManager, appWidgetIds);
int N = appWidgetIds.length;
for(int i =0;i<N;i++) {
int awID = appWidgetIds[i];
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
views.setImageViewResource(awID, awID);
appWidgetManager.updateAppWidget(awID, views);
}
getBattery();
/*iV6.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);
iV1.setImageResource(R.drawable.battery);*/
}
}
Der Plan soll sein das er den Akkuladestand erfragen soll und je nach stand ImageViews auf Visible stellen nur da passiert nix.
Wer noch mehr Infos brauch nur sagen.
Vielen Dank schonmal und einen guten Rutsch.