jerry_yang2 2015-08-24 03:53 采纳率: 0%
浏览 3852

settings.db数据库 android 6.0 修改

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数据库。然而,你可以通过以下步骤实现你的需求:

    1. 在Android M中,你可以使用IntentContentResolver来获取屏幕亮度设置。

    2. 创建一个ContentProvider,以便在用户界面中提供屏幕亮度的控制。

    3. 使用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

    评论

报告相同问题?