设置->设备->存储设备和usb增加设置项

查看StorageSettings activity使用的xml,查找到是addPreferencesFromResource(R.xml.device_info_storage);

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
    android:title="@string/storage_settings"
    settings:keywords="@string/keywords_storage">
	<SwitchPreference
                android:key="auto_brightness"
                android:title="USB开关"
                settings:keywords="打开或禁用USB"
                android:summary="打开或者禁用USB"
                android:persistent="false" />
				
    <PreferenceCategory
        android:key="storage_internal"
        android:title="@string/storage_internal_title" />

    <PreferenceCategory
        android:key="storage_external"
        android:title="@string/storage_external_title" />

</PreferenceScreen>

在oncreate中加入菜单项:

@Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        final Context context = getActivity();

        mStorageManager = context.getSystemService(StorageManager.class);
        mStorageManager.registerListener(mStorageListener);

        addPreferencesFromResource(R.xml.device_info_storage);

        mInternalCategory = (PreferenceCategory) findPreference("storage_internal");
        mExternalCategory = (PreferenceCategory) findPreference("storage_external");

        mInternalSummary = new StorageSummaryPreference(context);

        setHasOptionsMenu(true);
		
		mAutoBrightnessPreference = (SwitchPreference) findPreference(KEY_AUTO_BRIGHTNESS);
        mAutoBrightnessPreference.setOnPreferenceChangeListener(this);
		boolean usb=getUsb();
		mAutoBrightnessPreference.setChecked(usb);
		
		try{
			Log.d("wfy","---otg_control_config chmod 777");
			Runtime.getRuntime().exec("/system/bin/lkroot chmod 777 /proc/otg_control_config");
		}catch(Exception e){
			Log.d("wfy","---otg_control_config 777 "+e.getMessage());
		}
		
    }

增加监听方法:

	 @Override
    public boolean onPreferenceChange(Preference preference, Object objValue) {
		final String key = preference.getKey();
		if (KEY_AUTO_BRIGHTNESS.equals(key)) {
            try {
                boolean auto = (Boolean) objValue;
                Log.e("wfy","usb " +auto);
				setUsb(auto);
            } catch (NumberFormatException e) {
                Log.e(TAG, "could not persist screen timeout setting", e);
            }
        }
		 return true;
		
	}

 

转载于:https://my.oschina.net/wfy94/blog/3013560

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值