电量控制插件
来源:互联网 发布:电脑为什么要优化系统 编辑:程序博客网 时间:2024/05/02 09:45
这个插件是属于设置的一部分,可以在
1
packages\apps\Settings\res\drawable-hdpi
这个文件夹里面查看,呵呵,有没有看到上面目录的斜杠方向,懂吧。
这里找到一个文件名为:“ic_appwidget_settings_mobile_off” 的PNG文件。
而相关的文件是:
1
vim packages/apps/Settings/src/com/android/settings/widget/SettingsAppWidgetProvider.java
代码要修改有几个部分,可以搜索“BUTTON_MOBILE”,进行修改。
1. 是否显示这个部件
01
/**
02
* Provides control of power-related settings from a widget.
03
*/
04
public
class
SettingsAppWidgetProvider
extends
AppWidgetProvider {
05
static
final
String TAG =
"SettingsAppWidgetProvider"
;
06
07
static
final
ComponentName THIS_APPWIDGET =
08
new
ComponentName(
"com.android.settings"
,
09
"com.android.settings.widget.SettingsAppWidgetProvider"
);
10
11
private
static
LocalBluetoothManager sLocalBluetoothManager =
null
;
12
private
static
TelephonyManager mTelephonyManager =
null
;
13
14
private
static
final
int
BUTTON_WIFI =
0
;
15
private
static
final
int
BUTTON_BRIGHTNESS =
1
;
16
private
static
final
int
BUTTON_SYNC =
2
;
17
private
static
final
int
BUTTON_GPS =
3
;
18
private
static
final
int
BUTTON_BLUETOOTH =
4
;
19
// private static final int BUTTON_MOBILE = 5; /* 该产品没有通话功能。 */
2. 点击之后的事件处理
01
/**
02
* Receives and processes a button pressed intent or state change.
03
*
04
* @param context
05
* @param intent Indicates the pressed button.
06
*/
07
@Override
08
public
void
onReceive(Context context, Intent intent) {
09
super
.onReceive(context, intent);
10
if
(WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {
11
sWifiState.onActualStateChange(context, intent);
12
}
else
if
(BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) {
13
sBluetoothState.onActualStateChange(context, intent);
14
}
else
if
(intent.hasCategory(Intent.CATEGORY_ALTERNATIVE)) {
15
Uri data = intent.getData();
16
int
buttonId = Integer.parseInt(data.getSchemeSpecificPart());
17
if
(buttonId == BUTTON_WIFI) {
18
sWifiState.toggleState(context);
19
}
else
if
(buttonId == BUTTON_BRIGHTNESS) {
20
toggleBrightness(context);
21
}
else
if
(buttonId == BUTTON_SYNC) {
22
toggleSync(context);
23
}
else
if
(buttonId == BUTTON_GPS) {
24
toggleGps(context);
25
}
else
if
(buttonId == BUTTON_BLUETOOTH) {
26
sBluetoothState.toggleState(context);
27
}
28
/* 删去相应的事件处理代码。
29
else if (buttonId == BUTTON_MOBILE) {
30
toggleMobile(context);
31
}*/
32
}
else
if
(TelephonyIntents.ACTION_MODEM_POWER_STATE_CHANGED.equals(intent.getAction())) {
33
}
else
{
34
// Don't fall-through to updating the widget. The Intent
35
// was something unrelated or that our super class took
36
// care of.
37
return
;
38
}
01
/**
02
* Load image for given widget and build {@link RemoteViews} for it.
03
*/
04
static
RemoteViews buildUpdate(Context context,
int
appWidgetId) {
05
RemoteViews views =
new
RemoteViews(context.getPackageName(),
06
R.layout.widget);
07
views.setOnClickPendingIntent(R.id.btn_wifi, getLaunchPendingIntent(context, appWidgetId,
08
BUTTON_WIFI));
09
views.setOnClickPendingIntent(R.id.btn_brightness,
10
getLaunchPendingIntent(context,
11
appWidgetId, BUTTON_BRIGHTNESS));
12
views.setOnClickPendingIntent(R.id.btn_sync,
13
getLaunchPendingIntent(context,
14
appWidgetId, BUTTON_SYNC));
15
views.setOnClickPendingIntent(R.id.btn_bluetooth,
16
getLaunchPendingIntent(context,
17
appWidgetId, BUTTON_BLUETOOTH));
18
19
/* views.setOnClickPendingIntent(R.id.btn_mobile,
20
getLaunchPendingIntent(context,
21
appWidgetId, BUTTON_MOBILE)); */
22
23
updateButtons(views, context);
24
return
views;
25
}
4. 还有这个,全注释掉吧。
01
switch
(getMobileState(context)) {
02
case
STATE_DISABLED:
03
views.setImageViewResource(R.id.img_mobile, R.drawable.ic_appwidget_settings_mobile_off);
04
views.setImageViewResource(R.id.ind_mobile, R.drawable.appwidget_settings_ind_off_c);
05
break
;
06
case
STATE_ENABLED:
07
views.setImageViewResource(R.id.img_mobile, R.drawable.ic_appwidget_settings_mobile_on);
08
views.setImageViewResource(R.id.ind_mobile, R.drawable.appwidget_settings_ind_on_c);
09
break
;
10
case
STATE_INTERMEDIATE:
11
views.setImageViewResource(R.id.img_mobile, R.drawable.ic_appwidget_settings_mobile_off);
12
views.setImageViewResource(R.id.ind_mobile, R.drawable.appwidget_settings_ind_mid_c);
13
break
;
14
}
- 电量控制插件
- android 电量控制
- android 状态栏电量百分比控制
- Android实现电量控制降低耗电
- Android 怎样控制电量百分比是否显示
- android原生widget 电量控制(PowerSave)设计浅析
- 控制电量低于30%不能充电—处理方式
- andrid5.0添加开关默认控制电量百分比显示
- Android Studio 导出Unity插件(剩余电量、信号强度)
- 插件启动顺序控制
- wordpress 用户控制插件
- 手柄控制-XInputDotNet插件
- 电量变化
- 电量优化
- 电量测试
- 手机电量
- 电量测试
- 电量变化
- LIKE 多字段匹配 效率低下
- eclipse中使用maven的jar包,但是提示unbound classpath variable,eclipse没装maven插件,在eclipse里new一个环境变量指向maven的repo
- uva 592 Island of Logic
- 今天的虎兄才跳了过去的飞秋WZ132
- android学习30天 第一集 android开发环境搭建
- 电量控制插件
- C++栈和堆原理介绍
- class 包名+类名 获取改class的字节码
- Oracle EBS Concurrent Request:Gather Schema Statistics
- OJ测试 用重定向,不用多次测试输入数据。
- PS抠头发妙法
- 获取字节码的文件路径、获取一个类的具体名称、获取一个类的简单名称、获取一个类的包名
- 不明错误'CAsyncSocket' : base class undefined
- 街区最短路径问题