我正在编写一个小部件,只要用户更改振铃器音量或振动设置,就需要更新.
捕获android.media.VIBRATE_SETTING_CHANGED对于振动设置工作得很好,但我没有找到任何方式在铃声音量变化时得到通知,虽然我可以尝试捕捉当用户按下音量增大/音量减小物理键时,还有很多其他选项在不使用这些键的情况下更改音量.
你知道是否有任何广播行动为此定义或以任何方式创建一个或没有它解决问题?
我创建了一个Contentprovide并实现了它的update()方法,如下所示:
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
final SQLiteDatabase db = mHelper.getWritableDatabase();
int count = db.update(InslideDB.FOLDER_TABLE, values, selection, selectionArgs);
/* To notify the observer */
this.getContext().getContentResolver().notifyChange(URI, null);
return count;
}
Run Code Online (Sandbox Code Playgroud)
如何在appwidget中收到通知?谢谢!
我正在尝试这个解析器,但没有Log(-------------------- Date Changed)打印:
class DataProviderObserver extends ContentObserver {
private AppWidgetManager mAppWidgetManager;
private ComponentName mComponentName;
DataProviderObserver(AppWidgetManager mgr, ComponentName cn, Handler h) {
super(h);
mAppWidgetManager = mgr;
mComponentName = cn;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange); //NOTE: Have to call this. dwy.
// …Run Code Online (Sandbox Code Playgroud) 我已经进行了广泛的搜索,但找不到类似的问题。
我想知道是否有任何方法可以检测移动设备的屏幕亮度何时发生变化。
我已经尝试在应用程序启动时存储旧值并反复检查Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS);用于比较屏幕亮度的初始值和最终值,这不是一个好的方法。
谢谢
编辑:这个问题表明我已经尝试过使用Settings.System.SCREEN_BRIGHTNESS获取当前屏幕值并定期检查屏幕亮度变化的解决方案。我正在寻找一种更有效的方法来进行这样的操作。
嗨,我正在尝试使用以下代码.内容解析器无法使用此功能.任何人都可以提出一个想法
getContentResolver().registerContentObserver(MyContentProvider.CONTENT_URI,true, new ContentObserver(new Handler()){
@Override public void onChange( boolean selfChange){
showDialog();
}
@Override
public void onChange(boolean selfChange, Uri uri) {
// Handle change.
showDialog();
}
});
Run Code Online (Sandbox Code Playgroud)
提前致谢