В настоящее время я пытаюсь добавить поддержку Android N в свое приложение. Я использую новый Scoped Directory Access API прочитать каталог хранения моего приложения на внешнем накопителе, например, так:API-интерфейс с ограниченным доступом к каталогам NullPointerException
public void requestExternalStoragePermissions(int requestCode) {
StorageManager sm = (StorageManager)getContext().getSystemService(Context.STORAGE_SERVICE);
StorageVolume volume = sm.getPrimaryStorageVolume();
Intent intent = volume.createAccessIntent("MyApp");
startActivityForResult(intent, requestCode);
}
Однако я получаю NullPointerException
на startActivityForResult
:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1635)
at android.app.Activity.startActivityForResult(Activity.java:4858)
at android.app.Activity.startActivityFromFragment(Activity.java:4844)
at android.app.Activity$HostCallbacks.onStartActivityFromFragment(Activity.java:7125)
at android.app.Fragment.startActivityForResult(Fragment.java:1150)
at android.app.Fragment.startActivityForResult(Fragment.java:1139)
....
Что я делаю неправильно?
Эти файлы должны быть легко доступны пользователю в файловом менеджере, поэтому getExternalFilesDir()
is NOT вариант.