一键飞行模式 android,android开发之快速设置,一键wifi开闭,移动网络开闭,电池设置,飞行模式,...

这篇博客分享了如何在Android系统中实现快速设置功能,包括自动亮度控制、飞行模式开关和蓝牙开关等。作者提供了相应的Java代码实现,并强调随着SDK版本变化,部分接口可能需要调整。还提醒注意处理系统服务和数据时要防止报错。源码已上传供下载参考。
摘要由CSDN通过智能技术生成

Android底层对于无论是软件系统还是硬件系统的控制能力都是非常好的,接口定义也十分明确,我们可以很方便的拿来做自己想要的控制,于是近期在项目中就有做个快速设置的功能,要求一键wifi开闭,移动网络开闭,电池设置,飞行模式,一键打开应用(应用本来就是一键打开的哈),一键拨号……………………各种各种的功能,于是经过一个星期的奋战,这个功能初步完成了编码与测试,不慎完善,至少能用,呵呵,第一次写这个,架构考虑的不全面,以后继续改进,这篇文章呢就贴几段功能实现的代码,由于用到的接口太多,实在不方便写博客了。我打了压缩包,开放源码,想要的童鞋可以去下载,纯手打代码,大家多多支持。

一:自动亮度的开启与关闭

[java]

/**

* �?��亮度自动调节

*

* @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);

}

二:飞行模式的开闭

[java

/**

* 打开关闭飞行模式

*/

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);

}

三:蓝牙开闭

[java]

/**

* 打开关闭蓝牙

*

*/

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();

}

}

下面再贴一些要用到的权限

[html]

太多了,暂时搞这几个,对大家有用的话,可以去下源码。

开发过程中非常需要注意的是,随着sdk版本的提升,有的系统设置接口有些改变,需要做些调整,还有这个与系统设置关系较为密切,拉取系统服务与数据的时候要及时try And catch,以防报错。下载地址:https://download.csdn.net/user/beiminglei。由于是从项目中扣下来的代码,比较乱,如有兴趣体验比较完整的版本,可以试试我们的项目,https://play.google.com/store/apps/details?id=com.launcher.GTlauncher2&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5sYXVuY2hlci5HVGxhdW5jaGVyMiJd。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值