構成変更が発生したときに単にトーストメッセージを中継するテストアプリケーションを構築しようとしました。 (うまくやっていると思うが、うまくいかない)最終的な目的は、タブレットをキーボードクレードルに置いたり、キーボードクレードルから取り出したりすることを検出することです。私のマニフェストと主な活動は以下の通りです。私はこのコードがタブレットにuiModeや外付けキーボードの設定変更があったときに乾杯になると思っていましたが、ドッキング/ドッキング解除しても何も起こっていません...uiModeまたはKeyboardの変更を検出しました。
私のマニフェスト:
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="12" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".UiModeTestActivity"
android:configChanges="keyboard|uiMode"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
私のjava:
package com.eliddell;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;
public class UiModeTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Toast.makeText(getApplicationContext(), "new config:"+newConfig, Toast.LENGTH_LONG).show();
}
}