android M版本有没有类似的方法修改?sqlite3 /data/data/com.android.providers.settings/databases/settings.db \"update system set value=100 where name='screen_brightness'
1条回答 默认 最新
你知我知皆知 2024-08-04 06:32关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Android M中,你不能直接使用SQL语句来更新SQLite数据库。然而,你可以通过以下步骤实现你的需求:
-
在Android M中,你可以使用
Intent和ContentResolver来获取屏幕亮度设置。 -
创建一个
ContentProvider,以便在用户界面中提供屏幕亮度的控制。 -
使用
ContentResolver将屏幕亮度设置存储到SQLite数据库中。
下面是一个简单的示例代码,展示如何创建一个
ContentProvider并将其内容存储到SQLite数据库中:public class SettingsDbProvider extends ContentProvider { private static final String TAG = "SettingsDbProvider"; // 定义ContentProvider接口 @Override public boolean onCreate() { Log.d(TAG, "onCreate: "); return true; } @Nullable @Override public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) { Log.d(TAG, "query: " + uri); return null; } @Nullable @Override public String getType(@NonNull Uri uri) { Log.d(TAG, "getType: " + uri); return null; } @Nullable @Override public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) { Log.d(TAG, "insert: " + uri); return null; } @Override public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) { Log.d(TAG, "delete: " + uri); return -1; } @Override public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) { Log.d(TAG, "update: " + uri); return -1; } }然后,你需要在AndroidManifest.xml文件中注册这个
ContentProvider:<provider android:name=".SettingsDbProvider" android:authorities="com.example.settingsdb.provider" android:exported="false" > </provider>这样,你就有了一个可以改变屏幕亮度的
ContentProvider。解决 无用评论 打赏 举报-