1

Android(私のバージョンは2.3.3)の設定を変更する簡単なアプリを作成しようとしていますが、いくつか問題があります。私の API レベルは 10 で、System.Secure を使用します。これは、Settings.System が廃止され、Settings.Global が新しい API に含まれているためです。

このコードを使用すると、アプリがクラッシュします:( :

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" />

私も android:onClick="toggle" でこのコードを試しましたが、うまくいきません:/

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

}
}
}

誰かがそれを機能させる方法を知っていますか?

4

1 に答える 1

1

アプリがシステム ( RTM )にバンドルされていない限り、セキュア テーブルの値を変更することはできません。

アプリケーションが読み取ることはできますが、書き込むことは許可されていないシステム設定を含む、安全なシステム設定。これらは、アプリケーションによって直接変更されるのではなく、ユーザーがシステム UI またはそれらの値に特化した API を介して明示的に変更する必要がある設定用です。

于 2014-01-07T02:29:49.113 に答える