博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开启电量的百分比
阅读量:4074 次
发布时间:2019-05-25

本文共 4348 字,大约阅读时间需要 14 分钟。

Android V5.1

1.直接显示在电池里--- a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java@@ -203,7 +203,7 @@ public class BatteryMeterView extends View implements DemoMode,         colors.recycle();         atts.recycle();         mShowPercent = ENABLE_PERCENT && 0 != Settings.System.getInt(-                context.getContentResolver(), "status_bar_show_battery_percent", 0);+                context.getContentResolver(), "status_bar_show_battery_percent", 1);2.状态栏电量百分比控制--- a/android/frameworks/base/packages/SystemUI/res/layout/system_icons.xml+++ b/android/frameworks/base/packages/SystemUI/res/layout/system_icons.xml@@ -32,9 +32,16 @@         android:layout_height="wrap_content"         android:layout_marginStart="2.5dp"/>+       
--- a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java@@ -798,6 +798,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, // Other icons mLocationController = new LocationControllerImpl(mContext); // will post a notification mBatteryController = new BatteryController(mContext);+ mBatteryController.setPercentageView((TextView)mStatusBarWindow.findViewById(R.id.pbattery));--- a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.ja+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.ja@@ -27,6 +27,16 @@ import android.util.Log; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList;+import android.content.ContentResolver;+import android.database.ContentObserver;+import android.os.Handler;+import android.os.UserHandle;+import android.view.View;+import android.widget.TextView;+import android.provider.Settings;+import android.util.Log;+import com.android.systemui.R;+ public class BatteryController extends BroadcastReceiver {
private static final String TAG = "BatteryController";@@ -35,19 +45,38 @@ public class BatteryController extends BroadcastReceiver {
private final ArrayList
mChangeCallbacks = new ArrayList<>(); private final PowerManager mPowerManager;+ private TextView mBatteryPercentageView;+ private String mPercentage = "100%";+ private Context mContext;+ private int mLevel; private boolean mPluggedIn; private boolean mCharging; private boolean mCharged; private boolean mPowerSave;+ private final Handler mHandler = new Handler();+ public void setPercentageView(TextView v){+ mBatteryPercentageView = v;+ } public BatteryController(Context context) { mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);+ mContext = context;+ + ContentObserver obs = new ContentObserver(mHandler){+ @Override+ public void onChange(boolean selfChange){+ updatePowerSave();+ }+ };+ final ContentResolver resolver = context.getContentResolver();+ updatePowerSave(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); filter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED); filter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGING);+ context.registerReceiver(this, filter); updatePowerSave();@@ -85,6 +114,10 @@ public class BatteryController extends BroadcastReceiver {
mCharging = mCharged || status == BatteryManager.BATTERY_STATUS_CHARGING; fireBatteryLevelChanged();+ int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);+ mPercentage = String.valueOf(mLevel*100/scale)+"%";+ mBatteryPercentageView.setText(mPercentage);+ mBatteryPercentageView.setVisibility(View.VISIBLE); } else if (action.equals(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)) {

转载地址:http://sakni.baihongyu.com/

你可能感兴趣的文章
进程同步
查看>>
Python中列表元素删除
查看>>
二分查找与递归式二分查找
查看>>
在Navicat for MySQL中修改表的编码格式
查看>>
【RPC】一步一步实现基于netty+zookeeper的RPC框架(四)
查看>>
补充另一版ArrayList的初始化过程
查看>>
java接口不能实例化原因浅谈
查看>>
Https加密及攻防
查看>>
Java生成随机不重复推广码邀请码
查看>>
Java8 Lambda表达式介绍
查看>>
Java8 stream流介绍
查看>>
Java多线程之synchronized及死锁编写
查看>>
Java NIO源码剖析及使用实例(一):Buffer
查看>>
[swift实战入门]手把手教你编写2048(一)
查看>>
[swift实战入门]手把手教你编写2048(二)
查看>>
Java 爬虫入门(网易云音乐和知乎实例)
查看>>
[swift实战入门]手把手教你编写2048(三)
查看>>
堆排序原理(图)及java版代码
查看>>
【JAVA数据结构】栈(数组实现)
查看>>
【JAVA数据结构】双向链表
查看>>