- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在使用 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/
我在使用 RemoteViews 时遇到了一些问题。只是想制作一个显示电池电量的小部件。我已经完成了所有其他的事情。 这是我的类(class): public class BatteryLevel e
在 iOS 中,有一种获取 iPhone 电池电量的简单方法: UIDevice.current.batteryLevel MacBook 的 macOS batteryLevel 是什么? 最佳答案
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error:
UIDevice BatteryLevel 返回的“默认”数据似乎以 5% 为增量。如何使其达到 1% 或更精细? 最佳答案 UIKit 调用检索电池只能获得 0.0 到 1.0 之间的数字,步长为
我是 Swift 的新手(使用 Xcode 8.3.3、Swift 3.1),我正在尝试显示电池电量和电池状态并在值更改时更新它们。这是我到目前为止所拥有的: import UIKit class V
我是一名优秀的程序员,十分优秀!