2017-08-05 74 views
0

即時通訊嘗試從隱藏目錄中獲取所有文件。但它沒有顯示任何文件。 請幫我解決這個問題。android:從隱藏目錄中獲取文件列表

public class Images extends Fragment { 
    private static final String WHATSAPP_STATUSES_LOCATION_L = Environment.getExternalStorageDirectory().toString() + "/WhatsApp/Media/.Statuses/"; 
    private RecyclerView mRecyclerViewMediaList; 
    private LinearLayoutManager mLinearLayoutManager; 

    public Images() { 
     // Required empty public constructor 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View v = inflater.inflate(R.layout.images, container, false); 
     mRecyclerViewMediaList = (RecyclerView) v.findViewById(R.id.recyclerViewMedia); 
     mLinearLayoutManager = new LinearLayoutManager(getContext()); 
     mRecyclerViewMediaList.setLayoutManager(mLinearLayoutManager); 
     RecyclerViewMediaAdapter recyclerViewMediaAdapter = new RecyclerViewMediaAdapter(this.getListFiles(new File(WHATSAPP_STATUSES_LOCATION_L)), getActivity()); 
     mRecyclerViewMediaList.setAdapter(recyclerViewMediaAdapter); 
     return v; 
    } 

    /** 
    * get all the files in specified directory 
    * 
    * @param parentDir 
    * @return 
    */ 
    private ArrayList<File> getListFiles(File parentDir) { 
     Log.e("getpath: ", String.valueOf(parentDir)); 
     ArrayList<File> inFiles = new ArrayList<File>(); 
     File[] files; 
     files = parentDir.listFiles(); 
     Log.e("Files: ", String.valueOf(files)); 
     if (files != null) { 
      for (File file : files) { 

       if (file.getName().endsWith(".jpg") 
        // || file.getName().endsWith(".gif") || 
        // file.getName().endsWith(".mp4") 
         ) { 
        if (!inFiles.contains(file)) 
         inFiles.add(file); 
       } 
      } 
      Log.e("getListFiles: ", String.valueOf(inFiles)); 
     } 
     return inFiles; 
    } 

} 

logcat的顯示

08-05 11:17:12.517 32636-32636/? I/art: Late-enabling -Xcheck:jni 
08-05 11:17:12.583 32636-32636/rubin.whatsstatus D/LenovoAppIconTheme: ExtraResources;cleanCachedIcon;clear cache.. 
08-05 11:17:12.804 32636-32636/rubin.whatsstatus W/System: ClassLoader referenced unknown path: /data/app/rubin.whatsstatus-2/lib/arm 
08-05 11:17:12.819 32636-32636/rubin.whatsstatus I/InstantRun: starting instant run server: is main process 
08-05 11:17:12.903 32636-32636/rubin.whatsstatus W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 
08-05 11:17:12.955 32636-32636/rubin.whatsstatus V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[]) 
08-05 11:17:12.955 32636-32636/rubin.whatsstatus V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease() 
08-05 11:17:12.956 32636-32636/rubin.whatsstatus V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[]) 
08-05 11:17:12.956 32636-32636/rubin.whatsstatus V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String) 
08-05 11:17:12.956 32636-32636/rubin.whatsstatus V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop() 
08-05 11:17:12.958 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:12.958 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:13.123 32636-32668/rubin.whatsstatus I/Adreno: QUALCOMM build     : 5817cca, Ie9c95840c4 
                  Build Date      : 03/26/17 
                  OpenGL ES Shader Compiler Version: XE031.09.00.03 
                  Local Branch      : 
                  Remote Branch     : refs/tags/AU_LINUX_ANDROID_LA.UM.5.5.R1.07.00.00.269.021 
                  Remote Branch     : NONE 
                  Reconstruct Branch    : NOTHING 
08-05 11:17:13.132 32636-32668/rubin.whatsstatus I/OpenGLRenderer: Initialized EGL, version 1.4 
08-05 11:17:13.132 32636-32668/rubin.whatsstatus D/OpenGLRenderer: Swap behavior 1 
08-05 11:17:13.161 32636-32636/rubin.whatsstatus W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView 
08-05 11:17:15.208 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:15.208 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:15.235 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:15.382 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:15.382 32636-32636/rubin.whatsstatus V/BoostFramework: BoostFramework() : mPerf = [email protected] 
08-05 11:17:15.412 32636-32636/rubin.whatsstatus E/getpath:: /storage/emulated/0/WhatsApp/Media/.Statuses 
08-05 11:17:15.415 32636-32636/rubin.whatsstatus E/Files:: null 

和目錄不是空的,我檢查過我的文件管理器 enter image description here

從文件管理器的路徑是 enter image description here

+0

您是否檢查路徑os是否正確? –

+0

@ H.Brooks先生,我添加了另一個路徑的截圖,請檢查一下,先生 –

回答

1

我建議你檢查權限如果路徑正確

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
+0

是兄弟。你說得對。我忘了啓用權限。 –

相關問題