草庐IT

battery-saver

全部标签

android - 在实际设备中,ACTION_BATTERY_CHANGED 发送的频率如何?

在模拟器中,如果我将powercapacity设置为不同于当前值的值,我的BroadcastReceiver的onReceive将被调用新的值(value)。(我已经注册了ACTION_BATTERY_CHANGED。)在真实设备中,其电池在几天内从100%放电到20%,我的onReceive方法是否会被调用:整整80次,超过80次或少于80次?回复:可能重复的问题-我还担心处理程序没有被足够频繁地调用。我也没有犯从另一个广播接收器中注册广播接收器的错误。 最佳答案 似乎最常见的行为是恰好发送80条消息,但有些设备会发送更多或更少的

android - ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 未触发

我只是想在我的应用中禁用电池优化。我使用了下面的代码fragmentIntentintent=newIntent();StringpackageName=context.getPackageName();PowerManagerpm=(PowerManager)context.getSystemService(Context.POWER_SERVICE);if(pm.isIgnoringBatteryOptimizations(packageName))intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTIN

android - 如何将定位模式从默认模式更改为 "high accuracy/battery saving"(仅限设备)

我正在尝试使用本教程实现一个谷歌地图以获取当前位置androidgooglemaptutorial问题是,在我启动设备的谷歌地图并授予访问谷歌位置服务的权限之前,它无法获取我的当前位置。在此之后,我的应用程序也获得了我当前的位置。在设备中打开位置之前,它工作正常。当位置关闭时,再次需要启动设备的谷歌地图并授予谷歌位置服务权限。我已经按照说明生成了key。我在设备定位模式中发现了问题。当我手动将设备模式更改为高精度/省电模式时,它工作正常。那么如何以编程方式将定位模式从默认模式(仅限设备)更改为“高精度/省电”这是Activity代码:publicclassMapsActivityext

Android Intent 的节电模式( Lollipop )

我正在尝试在Tasker中设置配置文件以自动触发Android5.0中的节电模式。但我发现的只是启动节电Activity的Intent,但没有人真正切换它。com.android.settings.Settings$BatterySaverSettingsActivity有人能指出我正确的方向吗? 最佳答案 使用Tasker可以通过使用运行Shell操作来完成,您将settingsputgloballow_power1放在命令框下,并确保选中使用root的框。将1更改为0以关闭节电模式。所以我假设它是com.android.sett

android - E/NEW_BHD : Battery Power Supply logging Daemon start and E/NEW_BHD: Cannot run on production devices

任何人都可以告诉我这是什么原因打印下面的错误,当应用程序正在运行并启动时打印下面的日志。DeviceisMotoG3,Marshmallowapilevel23,09-1414:53:14.482?E/NEW_BHD:BatteryPowerSupplyloggingDaemonstart!!!!!09-1414:53:14.484?E/NEW_BHD:Cannotrunonproductiondevices!09-1414:53:19.509?E/NEW_BHD:BatteryPowerSupplyloggingDaemonstart!!!!!09-1414:53:19.511?E/

android.content.ActivityNotFoundException "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"

我正试图引导我的用户进行电池优化Activity,它似乎对大多数人都有效,除了我得到的一些搭载Android6的三星手机:FatalException:android.content.ActivityNotFoundException:NoActivityfoundtohandleIntent{act=android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS}这是我用来启动它的:Intentintent=newIntent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS");

android - JellyBean(> Android 5.x)后的对象动画师在节电模式下不工作

我的应用程序大量使用ObjectAnimator.但我最近注意到,当打开节电模式时,使用ObjectAnimator的动画无法工作,有时甚至会崩溃。由于应用程序UI的流畅度在很大程度上依赖于动画,所以我不能省略任何一个。请提供一种解决方法,以便即使在节电模式下也能使用这些动画。所有的动画师都会提出这个问题吗??提前致谢。 最佳答案 实际上,当节电模式打开时,Android会禁用动画,这意味着您为动画器设置的任何持续时间都将更改为0。由于持续时间为0,因此动画器将获取应用于目标View的最后一个值。例如:Viewcontainer=i

android - 有没有办法知道是否启用了 Data Saver?

Android7.0Nougat添加了DataSaver功能,允许用户限制某些应用程序(包括推送通知)的后台数据。当DataSaver开启时,只有在中找到的列表中的应用程序Settings→DataSaver→Unrestricteddataaccess允许接收推送通知和执行后台网络调用。如果DataSaver关闭并且您的应用程序不在不受限制的列表中,这几乎就像设置禁用推送通知一样。我的应用中有一个用例,它正在等待推送通知的到来。我想知道是否有一种方法可以查明是否启用了DataSaver以及我的应用程序是否在“不受限制的数据访问”列表中以了解是否为我的应用程序启用了推送通知以及因此是否

android - "Battery saver"功能终止我的音乐服务

我正在为Android开发一个音乐流媒体应用。在这个应用程序中,我有一个Service负责播放来自HTTP服务器的音频。在播放之前,我确保startForeground()并获取部分WakeLock,这样我的服务就不会被终止。我还得到了一个WifiLock,以防万一。该服务运行良好...只要我的手机未处于“省电模式”即可。在我打开省电模式并断开手机与电源的那一刻,我的服务就被烧毁了!不幸的是,它甚至似乎没有调用onDestroy(),所以我从startForeground()发出的通知仍然可见,即使服务已死。手机是三星GalaxyS6,Android6.0.1。两个问题:有没有一种方法

Android:ACTION_BATTERY_LOW 未在模拟器中触发。接收器在代码中注册,而不是 list

我看过一些帖子,其中提到必须调用registerReceiver(未在list中定义)以接收ACTION_BATTERY_LOWIntent。publicclassMainActivityextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){//....registerReceiver(newBatteryLevelReceiver(),newIntentFilter(Intent.ACTION_BATTERY_LOW));}//.......}广播接收器publicclassBatteryLevel