音量設定の取得について

845 views
Skip to first unread message

eto

unread,
Jun 1, 2010, 5:53:37 AM6/1/10
to Android-SDK-Japan
初めまして、江藤と申します。

着信音量の設定値をウィジェット上に表示させるアプリを作成しようと
思っていますが、menuキーから起動する着信音量設定で設定を
変更した際にDBの更新を監視したいのですが、指定するURIが
わかりません。
もし、ご存知の方がいらっしゃいましたら教えていただけませんでしょうか?

下記のようにAppWidgetProviderクラスのonUpdate内でUriを登録しようと思っていますが、
AudoiManager、RingtoneManagerどれを使用すればよいのでしょうか?

mContext = context;
//Gmail DB更新検出クラス生成
contentResolver = context.getContentResolver();
mannerObserver = new MannerObserver(new Handler(),context);
// Uri ringuri =
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);

Uri ringuri = RingtoneManager.getActualDefaultRingtoneUri(
mContext, RingtoneManager.TYPE_RINGTONE);

Log.v(TAG, "Ring Uri = "+ringuri);
contentResolver.registerContentObserver(ringuri, true,
mannerObserver);


private class MannerObserver extends ContentObserver {

private Handler handler;
private Context mContext;

public MannerObserver(Handler handler,Context context) {
super(handler);
this.handler = handler;
this.mContext = context;
}

//DB更新通知
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.v(TAG, "MannerObserver.onChange");
//ウィジェット表示を更新する処理
}
}

eto

unread,
Jun 2, 2010, 9:20:33 PM6/2/10
to Android-SDK-Japan
江藤です。
自己解決できました。

情報展開まで
設定変更でSettings.dbのSystem.VOLUME_RINGが変更されていることから
Uriの取得を下記にしたところ、うまくいきました。

Uri ringuri = Settings.System.getUriFor(Settings.System.VOLUME_RING);
Reply all
Reply to author
Forward
0 new messages