4
RemoteViewsを使用していくつかの問題が発生しています。バッテリーレベルを表示するウィジェットを作るだけです。私はすでに他のすべてのものをやった。ここでAndroid:BatteryLevelウィジェットが更新されない
は私のクラスである:
public class BatteryLevel extends AppWidgetProvider{ public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds){ context.startService(new Intent(context, BatteryMonitorReceiver.class)); } public static class BatteryMonitorReceiver extends Service{ private int currentBatteryLevel = 0; private BroadcastReceiver batteryReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent){ currentBatteryLevel = intent.getIntExtra("level", 0); } }; @Override public void onStart (Intent intent, int startId) { registerReceiver(this.batteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); RemoteViews updateViews = new RemoteViews(getPackageName(), R.layout.main); updateViews.setTextViewText(R.id.level, String.valueOf(currentBatteryLevel)); ComponentName thisWidget = new ComponentName(this, BatteryLevel.class); AppWidgetManager manager = AppWidgetManager.getInstance(this); manager.updateAppWidget(thisWidget, updateViews); } @Override public IBinder onBind(Intent intent){ return null; } } }
私はアプリエラーなしとR.id.levelでところでなし更新を開始するとき。
どういうところが間違っていますか?
注:あなたのサービスは、内部クラスであるので、APIバージョン7
答えのためのThx。しかし、まだ問題があります。マニフェストを更新し、onStartをonStartCommandに変更しましたが、現在はオーバーライドしません。 –
パラメータが異なります。ここをクリックしてください:http://developer.android.com/reference/android/app/Service.html – Jong