#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