Ошибка при выполнении ContentResolver insert, MediaStore API

#java #android-studio

Вопрос:

Я пытался использовать MEDIASTORE API , но я продолжаю получать эту ошибку. Я использую Android 9, чтобы вывести этот код на свой физический телефон.

 btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            ContentValues values1 = new ContentValues();
            values1.put(MediaStore.Audio.Media.DISPLAY_NAME, "My Song.mp3");
            values1.put(MediaStore.Audio.Media.YEAR,2021);
            ContentResolver resolver = getApplicationContext().getContentResolver();
            Uri uri;
            uri = resolver.insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values1);
        }
    });
 

ошибка в том, что

 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.lastIndexOf(int)' on a null object reference
    at android.os.Parcel.createException(Parcel.java:1956)
    at android.os.Parcel.readException(Parcel.java:1918)
    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:1587)
    at com.example.voicetest.MainActivity$1.onClick(MainActivity.java:97)
    at android.view.View.performClick(View.java:7044)
    at android.view.View.performClickInternal(View.java:7017)
    at android.view.View.access$3200(View.java:784)
    at android.view.View$PerformClick.run(View.java:26596)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6819)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)
 

Я думаю, что lastIndexOf() это вызывается в ContentProvider классе, и он использует URI