gpt4 book ai didi

android - 执行 ContentResolver 插入时出错

转载 作者:行者123 更新时间:2023-12-05 00:17:17 30 4
gpt4 key购买 nike

执行insert new data into content provider时报错,看下面代码,PS,我直接把下面代码放到Activity的onCreate()中,然后执行。

ContentValues values=new ContentValues();
values.put(MediaStore.Audio.Media.TITLE,"Example Song");
values.put(MediaStore.Audio.Media.ARTIST,"Unknown");

getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,values);

只是简单地插入新的歌曲数据,却出现以下错误。

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.lastIndexOf(int)' on a null object reference
at android.os.Parcel.readException(Parcel.java:1605)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
at android.content.ContentResolver.insert(ContentResolver.java:1254)
at com.example.flover.contentproviderdemo.MainActivity.onCreate(MainActivity.java:48)

谁能告诉我为什么?提前致谢。

最佳答案

我在 android Q (API 29) 之前遇到了同样的错误

如果您要将文件下载到媒体商店 PRE Android Q (Api 29),请在您的内容值中包含...

    val directory = mContext.getExternalFilesDir(Environment.DIRECTORY_MUSIC)

contentValues.put(MediaStore.Audio.AudioColumns.DATA, "${directory}${song?.title}")

Api 29 及以后的版本省略了 DATA 值。

关于android - 执行 ContentResolver 插入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40480156/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com