私は私の目標は、API-15WIFI_SLEEP_POLICY_NEVER API-17で設定する方法は?
android.provider.Settings.System.putInt(cr,
android.provider.Settings.System.WIFI_SLEEP_POLICY,
android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER);
で、次のコードを使用していたコードは、私がlogcatでwarnignsを取得し、プラットフォームのAPI-17上で実行すると、
設定wifi_sleep_policyがandroid.providerから移動しました。 Settings.Systemからandroid.provider.Settings.Globalへの値は変更されません。
だからそれは、API-17に私のプロジェクトの目標を設定し、私はプラットフォームAPI-17
java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
で次SecurityExceptionを取得し始めた結果、このコード
if(Build.VERSION.SDK_INT < 17)
{
android.provider.Settings.System.putInt(cr,
android.provider.Settings.System.WIFI_SLEEP_POLICY,
android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER);
}
else
{
android.provider.Settings.Global.putInt(cr,
android.provider.Settings.Global.WIFI_SLEEP_POLICY,
android.provider.Settings.Global.WIFI_SLEEP_POLICY_NEVER);
}
を使用した後、私が何をしましたかそれから、WRITE_SECURE_SETTINGS権限がシステムアプリだけであることを確認しました。この権限がシステムアプリだけのものであるかのように、コードをコンパイルできませんでした。
私が以前に持っていた警告が間違っていたり、コードに間違いがあり、API-17と互換性を持たせたいと思っていたのは混乱しました。