gpt4 book ai didi

Android:BatteryLevel 小部件未更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:25 26 4
gpt4 key购买 nike

我在使用 RemoteViews 时遇到了一些问题。只是想制作一个显示电池电量的小部件。我已经完成了所有其他的事情。

这是我的类(class):

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。

最佳答案

由于您的服务是一个内部类,我猜您还没有在需要的 Android Manifest 中声明它。而且您不应该使用 onStart,它已被弃用。使用 onStartCommand。你忘了注销你的接收器......

关于Android:BatteryLevel 小部件未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com