Java 在新的SKD29上,列表文件不起作用
在我将目标版本切换到29之前,这一直有效。我一直在寻找和发现 然而,我没有跟上,仍然感到困惑。请帮忙!:)Java 在新的SKD29上,列表文件不起作用,java,android,list,file,arraylist,Java,Android,List,File,Arraylist,在我将目标版本切换到29之前,这一直有效。我一直在寻找和发现 然而,我没有跟上,仍然感到困惑。请帮忙!:) private静态列表getListFiles2(文件parentDir){ 列表填充=新的ArrayList(); 队列文件=新建LinkedList(); Log.d(“父”,String.valueOf(parentDir)); files.addAll(Arrays.asList(parentDir.listFiles()); 错误: 2020-09-25 15:48:13.71
private静态列表getListFiles2(文件parentDir){
列表填充=新的ArrayList();
队列文件=新建LinkedList();
Log.d(“父”,String.valueOf(parentDir));
files.addAll(Arrays.asList(parentDir.listFiles());
错误:
2020-09-25 15:48:13.714 21546-21546/com.subreaderFree D/parent: /storage/emulated/0/Download
2020-09-25 15:48:13.714 21546-21546/com.subreaderFree D/AndroidRuntime: Shutting down VM
2020-09-25 15:48:13.724 21546-21546/com.subreaderFree E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.subreaderFree, PID: 21546
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3738)
at java.util.Arrays.asList(Arrays.java:3725)
**at com.shivito.subreader.MainActivity.getListFiles3(MainActivity.java:462)
at com.shivito.subreader.MainActivity.onOptionsItemSelected(MainActivity.java:965)**
at android.app.Activity.onMenuItemSelected(Activity.java:4182)
at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:384)
at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:219)
at
androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
at
androidx.appcompat.app.AppCompatDelegateImpl.onMenuItemSelected(AppCompatDelegateImpl.java:1001)
at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
at android.widget.AdapterView.performItemClick(AdapterView.java:374)
at android.widget.AbsListView.performItemClick(AbsListView.java:1736)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:4207)
at android.widget.AbsListView$7.run(AbsListView.java:6692)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8125)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
2020-09-25 15:48:13.714 21546-21546/com.subreaderFree D/parent:/storage/simulated/0/Download
2020-09-25 15:48:13.714 21546-21546/com.subreaderFree D/AndroidRuntime:关闭虚拟机
2020-09-25 15:48:13.724 21546-21546/com.subreaderFree/AndroidRuntime:致命异常:main
进程:com.subreaderFree,PID:21546
java.lang.NullPointerException
位于java.util.Objects.requirennull(Objects.java:203)
位于java.util.Arrays$ArrayList。(Arrays.java:3738)
位于java.util.Arrays.asList(Arrays.java:3725)
**位于com.shivito.subreader.MainActivity.getListFiles3(MainActivity.java:462)
位于com.shivito.subreader.MainActivity.onOptionsItemSelected(MainActivity.java:965)**
在android.app.Activity.onMenuItemSelected上(Activity.java:4182)
在androidx.fragment.app.FragmentActivity.onMenuItemSelected上(FragmentActivity.java:384)
在androidx.appcompat.app.AppCompatActivity.onMenuItemSelected上(AppCompatActivity.java:219)
在
androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
在
androidx.appcompat.app.AppCompateDelegateImpl.onMenuItemSelected(AppCompateDelegateImpl.java:1001)
在androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected中(MenuBuilder.java:840)
在androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)中
位于androidx.appcompat.view.menu.MenuBuilder.performitemation(MenuBuilder.java:991)
位于androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
在android.widget.AdapterView.performItemClick(AdapterView.java:374)上
在android.widget.AbsListView.performItemClick(AbsListView.java:1736)上
在android.widget.AbsListView$PerformClick.run(AbsListView.java:4207)中
在android.widget.AbsListView$7.run(AbsListView.java:6692)
位于android.os.Handler.handleCallback(Handler.java:883)
位于android.os.Handler.dispatchMessage(Handler.java:100)
位于android.os.Looper.loop(Looper.java:237)
位于android.app.ActivityThread.main(ActivityThread.java:8125)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Suraj Bahadur链接到为我解决此问题的页面。我只需要将“android:requestLegacyExternalStorage=“true”添加到我的清单中
?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.appname"
android:installLocation="auto">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<activity android:name=".activities.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
?xml version=“1.0”encoding=“utf-8”>
是的!成功了。谢谢你帮我找到了。我需要使用我的goofoo。祝你有愉快的一天!此解决方案仅用于临时目的,将在以后的版本中删除。
?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.appname"
android:installLocation="auto">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<activity android:name=".activities.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>