liguofeng29’s blog

個人勉強用ブログだっす。

Androidのイベント処理 - システム設定変更を検知する

 システム設定情報変更の検知は

①onConfigurationChangedメソッドをOverrideする

 

②AndroidManifest.xmlのActivityのandroid:configChanges属性を設定する

属性値は(脱字あるかも)

mcc,mnc,locale,touchscreen,keyboard,keyboardHidden,

navigation,orientition,screenLayout,uiMode,screenSize,smallestScreenSize,fontScaleなど

 

サンプルコード


①androidManifest.xmlに下記追加

 

<activity android:name=".MainActivity"

android:configChanges="orientation|screenSize">

MainActivity.java
 
package com.example.liguofeng.onconfigurationchanged;

import android.content.res.Configuration;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
String orientation = config.orientation == Configuration.ORIENTATION_LANDSCAPE
? "横" : "縦";
Toast.makeText(this, "Screenが" + orientation + "になりました",
Toast.LENGTH_LONG ).show();
}
}