기본 설정 조각을 사용하여 환경 설정 메뉴를 만들었습니다 (아래 참조). 메뉴가 작동하고 설정 메뉴를 실제 기능에 연결하려고합니다. 블루투스를 비활성화하고 활성화하려면 xml의 블루투스 설정을 사용하고 싶습니다. bluetooth.disable() 함수를 사용하여이 작업을 수행 할 수 있음을 알고 있지만 어떻게 호출해야할지 모르겠습니다. onSharedPreferenceChanged 함수를 사용해야합니까? xml 내에서 액션을 생성해야합니까? 또는 어떻게 든 BLUETOOTH_SERVICE을 사용해야합니까?Android 기본 설정 블루투스 사용 중지
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
public class UserSettings extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content,
new PrefsFragment()).commit();
}
public static class PrefsFragment extends PreferenceFragment{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.user_settings);
}
}
} 여기
은 XML입니다 :
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="BluetoothSettings">
<CheckBoxPreference
android:defaultValue="true"
android:key="prefService"
android:summary="Bluetooth Settings"
android:title="Bluetooth" >
</CheckBoxPreference>
</PreferenceCategory>
<PreferenceCategory android:title="Notifications" >
<CheckBoxPreference
android:defaultValue="false"
android:key="prefLockScreen"
android:summary="Enable Notifications"
android:title="Notify" >
</CheckBoxPreference>
<ListPreference
android:key="prefUpdateFrequency"
android:title="Notification Settings"
android:summary="Set Specific Notification Settings"
android:entries="@array/updateNotifications"
android:entryValues="@array/updateNotificationValues"
/>
</PreferenceCategory>
감사합니다. 청취자는 주 활동에 등록해야합니까? 그것은 내가 조각에서 그것을하게하지 않을 것이다? –
public void onResume() { super.onResume(); getPreferenceManager(). getSharedPreferences(). registerOnSharedPreferenceChangeListener (this); } 공개 무효 onPause() { getPreferenceManager() getSharedPreferences() unregisterOnSharedPreferenceChangeListener (이)..; super.onPause(); } –