2012-04-05 12 views
7

のアプリをに設定しましたが、問題の原因は電話機の設定を切り替えることです:設定、表示、画面の自動回転(チェックボックス)
携帯電話の回転状態を確認したい場合は、それを反対(自動またはオフ)に設定してからアプリを終了します。Android:加速度計の回転状態の切り替えを設定する

これは私が持っているものです:

import android.app.Activity; 
import android.os.Bundle; 
import android.provider.Settings; 
import android.widget.Toast; 

public class Rotation extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     try{ 
     if (android.provider.Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0) == 1){ 
      android.provider.Settings.System.putInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0); 
      Toast.makeText(Rotation.this, "Rotation OFF", Toast.LENGTH_SHORT).show(); 
      finish(); 
      } 
     else{ 
      android.provider.Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1); 
      Toast.makeText(Rotation.this, "Rotation ON", Toast.LENGTH_SHORT).show(); 
      finish(); 
      } 
     } 
     catch(Exception e){ 
      e.printStackTrace(); 
      Toast.makeText(Rotation.this, "Try failed!", Toast.LENGTH_SHORT).show(); 
      finish(); 
     } 
    } 
} 

あなたが任意のより多くの情報を知っておく必要がある場合は、ちょうど私が知っている:)
すべてのヘルプは高く評価され、それは私にアウトを強調しています!

+0

動作していますか?そうでない場合はどうなりますか? – zapl

+0

いいえ、動作していません。キャッチを表示して閉じます。私は数値の値を動かそうとしましたが、変化はありません。 アイデア –

+0

+1のトリック...私はこれを検索する時間を費やしました...ありがとう –

答えて

5

あなたは正しい許可を設定しましたか?

私はしませんでしたし、例外の詳細メッセージは、

"Permission Denial: writing com.android.providers.settings.SettingsProvider uri content://settings/system from pid=306, uid=10037 requires android.permission.WRITE_SETTINGS"

かなりの合計それを言います。

+0

今すぐ試してみました。よく働く!!ありがとうございました –

関連する問題