Android底层对于无论是软件系统还是硬件系统的控制能力都是非常好的,接口定义也十分明确,我们可以很方便的拿来做自己想要的控制,于是近期在项目中就有做个快速设置的功能,要求一键wifi开闭,移动网络开闭,电池设置,飞行模式,一键打开应用(应用本来就是一键打开的哈),一键拨号……………………各种各种的功能,于是经过一个星期的奋战,这个功能初步完成了编码与测试,不慎完善,至少能用,呵呵,第一次写这个,架构考虑的不全面,以后继续改进,这篇文章呢就贴几段功能实现的代码,由于用到的接口太多,实在不方便写博客了。我打了压缩包,开放源码,想要的童鞋可以去下载,纯手打代码,大家多多支持。
一:自动亮度的开启与关闭
[java]
<span style="font-size:14px;">/**
* �?��亮度自动调节
*
* @param activity
*/
public void startAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
}
/**
* 停止自动亮度调节
*/
public void stopAutoBrightness(Activity activity) {
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
}</span>
二:飞行模式的开闭
[java
<span style="font-size:14px;">/**
* 打开关闭飞行模式
*/
public void OpenAirplane(Context context, ImageView childImageView) {
boolean isEnabled = Settings.System.getInt(
context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON,
0) == 1;
if (isEnabled) {
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0);
childImageView.setImageDrawable(getResources().getDrawable(
R.drawable.action_airplane_off_default));
} else if (!isEnabled) {
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 1);
childImageView.setImageDrawable(getResources().getDrawable(
R.drawable.action_airplane_default));
}
Intent i = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
i.putExtra("state", !isEnabled);
context.sendBroadcast(i);
}</span>
三:蓝牙开闭
[java]
<span style="font-size:14px;">/**
* 打开关闭蓝牙
*
*/
public void OpenorCloseBluetooth(Context context, ImageView childImageView) {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter.isEnabled()) {
adapter.disable();// 关闭蓝牙
childImageView.setImageDrawable(getResources().getDrawable(
R.drawable.action_bluetooth_off_default));
Toast.makeText(QuickSettingActivity.this,
getString(R.string.close_bluetooth), Toast.LENGTH_SHORT)
.show();
} else {
adapter.enable();// 打开蓝牙
childImageView.setImageDrawable(getResources().getDrawable(
R.drawable.action_bluetooth_default));
Toast.makeText(QuickSettingActivity.this,
getString(R.string.open_bluetooth), Toast.LENGTH_SHORT)
.show();
}
}
</span>
下面再贴一些要用到的权限
[html]
<span style="font-size:14px;"> <!-- 一键打开wifi -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- 设置屏幕亮度 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 设置蓝牙 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- 设置振动 -->
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.sec.android.app.factorymode.permission.KEYSTRING" />
<!-- 调用相机闪光灯 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />