Я пытаюсь написать простое приложение, которое изменит настройки Android (мои версии 2.3.3), но у меня есть некоторые проблемы. Мой уровень API равен 10, поэтому я использую System.Secure, потому что Settings.System устарели, а Settings.Global - в новых API.Settings.Secure WIFI_ON Авария приложения для Android
Когда я использую этот код, приложение падает :(:
public class OnOff extends Activity {
TextView msg;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//buttonLED = (ToggleButton) findViewById(R.id.toggleButton);
ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// The toggle is enabled
Settings.Secure.putInt(getContentResolver(), Settings.Secure.WIFI_ON, 1);
} else {
// The toggle is disabled
Settings.Secure.putInt(getContentResolver(), Settings.Secure.WIFI_ON, 0);
}
}
});
}
}
Конечно я использую разрешение в манифесте
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Я также попробовал этот код с андроида: OnClick = "тумблер", но он не работает слишком:/
public class OnOff extends Activity {
TextView msg;
private ToggleButton buttonLED;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void toggle(View v){
if(buttonLED.isChecked()){
Toast.makeText(OnOff.this, "Setting ON", Toast.LENGTH_SHORT).show();
Settings.Secure.putInt(getContentResolver(), Settings.Secure.WIFI_ON, 1);
}
else{
Toast.makeText(OnOff.this, "Setting OFF", Toast.LENGTH_SHORT).show();
Settings.Secure.putInt(getContentResolver(), Settings.Secure.WIFI_ON, 0);
}
}
}
ли кто-нибудь имеет представление о том, как заставить его работать
012?
Настройки.Secure.WIFI_ON определены только в API 17 (Jelly Bean), для более низких уровней API вы должны использовать System.Secure.WIFI_ON, однако, как указано в ответе, вы не можете писать безопасные настройки. –