0

How to get a file created by another app in another app?

For example my app's package name is "xyz" Now I want to get all the files of package name "xyz" in package name "abc" which is available in the phone instead of "/ storage / emulated / 0 / Android / data / xyz / files /".

Some such attempts were made for this but failed.

    public ArrayList<String> FetchImages() {
    //http://codesfor.in/how-to-list-all-files-from-sdcard-directory-in-android/
    String path =  "/storage/emulated/0/Android/data/abc/files/";
    System.out.println("path "  + " == " + path);
    File directory = new File(path);
    File[] files = directory.listFiles();
    for (int i = 0; i < files.length; i++)
    {    String file_name =path+ files[i].getName();
        // you can store name to arraylist and use it later
        filenames.add(file_name);
    }
    return filenames;
}

I am getting this error while debugging.

java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz/xyz.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3556)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3703)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2216)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7948)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
 Caused by: java.lang.NullPointerException: Attempt to get length of null array
    at xyz.MainActivity.FetchImages(MainActivity.java:80)
    at xyz.MainActivity.onCreate(MainActivity.java:66)
    at android.app.Activity.performCreate(Activity.java:7955)
    at android.app.Activity.performCreate(Activity.java:7944)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3531)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3703) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2216) 
    at android.os.Handler.dispatchMessage(Handler.java:107) 
    at android.os.Looper.loop(Looper.java:237) 
    at android.app.ActivityThread.main(ActivityThread.java:7948) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075) 

      

Also used permission related to STORAGE and FileProvider.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
 

 <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="xyz.MainActivity.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
    </provider>

Please guide me.

Shivendra Kr. Sahu
  • 753
  • 1
  • 5
  • 12

0 Answers0