PreferenceActivityからAndroidの設定画面への遷移

372 views
Skip to first unread message

sassa

unread,
Feb 20, 2010, 4:00:53 PM2/20/10
to 日本Androidの会
いつもお世話になっております。
佐々木と申します。

PreferenceActivityからAndroidの各種設定画面(ex.音量, 輝度、端末情報等)
へダイレクトで遷移することは可能でしょうか。
レイアウトはxmlで記述しています。
簡単にできそうなのですが、ヒントになるようなページも見つけられず困っています…。
どなた様かご教授を宜しくお願いします。

Sasaki

unread,
Feb 20, 2010, 9:37:59 PM2/20/10
to 日本Androidの会
はじめまして。
Sasakiです。同じ苗字ですねw

各種設定画面ですが、たとえば音量(サウンド&画面設定)へ遷移する場合は
PreferenceScreenタブを以下のように記述します。

<PreferenceScreen
android:title="@string/sound_and_display_settings"
android:summary="@string/
sound_and_display_settings_summary">
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings"

android:targetClass="com.android.settings.SoundAndDisplaySettings" />
</PreferenceScreen>

android:titleとandroid:summaryは自分で記述する必要があります。

android:actionなどのIntentはログ(logcat)から解釈。
各設定画面を開く際、下記のようなログが出ていると思います。
「Starting activity: Intent { act=android.intent.action.MAIN
cmp=com.android.settings/.SoundAndDisplaySettings }」
android:action = act
android:targetPackage = cmp
android:targetClass = cmpの"/"抜き
上記のように解釈してPreferenceScreenを記述してみてはどうでしょうか?

他の方法としてはAndroidのソースを取得し、該当するxmlを解読する方法。
※自分はこれでやってますw
場所はcupcakeの場合ですが「packages/apps/Settings/res/xml/settings.xml」となります。
ソースは「packages/apps/Settings/src/com/android/settings/Settings.java」です。

回答に適しているか不安ですが、以上です。よろしくお願いします。

sassa

unread,
Feb 21, 2010, 4:04:26 PM2/21/10
to 日本Androidの会
Sasaki様

お礼が遅くなり申し訳ございませんでした。
ご教示ありがとうございます。

ご教示頂いた方法で試してみます。
(すいません、まだ試していません(汗))

> android:actionなどのIntentはログ(logcat)から解釈。
こういう方法もあるのですね。
まだまだ初心者なので大変勉強になりました。
この機会にソース読解にもチャレンジしてみます。

どうもありがとうございました。

Reply all
Reply to author
Forward
0 new messages