zoukankan      html  css  js  c++  java
  • 设置打开android开发之快速设置,一键wifi开闭,移动网络开闭,电池设置,飞行模式,………………………………设置打开

    废话就不多说了,开始。。。

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

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

    /**
    	 * �?��亮度动自调节
    	 * 
    	 * @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);
    	}

        二:飞行模式的开闭

    /**
    	 * 打开闭关飞行模式
    	 */
    	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);
    	}

        
    三:牙蓝开闭

    /**
    	 * 打开闭关牙蓝
    	 * 
    	 */
    	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();
    		}
    	}

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

    <!-- 一键打开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" />
    
        <uses-permission android:name="android.permission.FLASHLIGHT" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
    
          <!-- 转变网络 -->
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    
        <!-- GPS -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

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

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

    文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”

  • 相关阅读:
    缩点【洛谷P1262】 间谍网络
    模板-割点
    Tarjan缩点+LCA【洛谷P2416】 泡芙
    模拟赛 10-20考试记
    BFS【bzoj1667】: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛
    最短路【bzoj2464】: 中山市选[2009]小明的游戏
    linux /dev/mapper/centos-root 被占满
    Centos7中安装Mysql8并修改密码策略并远程连接
    Centos7中PHP编译安装mysqli扩展报错
    Linux中Composer 在安装依赖包与本地php版本不符问题
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3031554.html
Copyright © 2011-2022 走看看