GithubHelp home page GithubHelp logo

Design flaw about afilechooser HOT 2 CLOSED

ipaulpro avatar ipaulpro commented on August 27, 2024
Design flaw

from afilechooser.

Comments (2)

iPaulPro avatar iPaulPro commented on August 27, 2024

So, when 4.4 introduced the Storage Access Framework and this DocumentProvider Activity, they made it so the Activity intercepting the GET_CONTENT Intent must be exported. If you're going to export FileChooserActivity you should be using your own icon so the user is able to tell that it's your app they can select a file from. I will update the README to include this direction.

FileChooserActivity can be used independently from GET_CONTENT method, which has it's own utility. For this type of usage, the icon doesn't matter, and exported should be false.

Also, as noted in the README:

Using FileChooserActivity and LocalStorageProvider together are redundant if you're only trying to insure your user has access to local storage. If this is the case, you should enable/disable based on the API level (above: @bool/use_provider and @bool/use_activity).

from afilechooser.

iPaulPro avatar iPaulPro commented on August 27, 2024

Remember, if you're only trying to determine if the user has an app that supports the GET_CONTENT Intent that you want, you can always check for it at runtime with something like this:

public static boolean isChooserAvailable(Context context, Intent intent) {
    final PackageManager mgr = context.getPackageManager();
    List<ResolveInfo> activities = mgr.queryIntentActivities(intent, 0);
    return activities.size() > 0;
}

I will add this to FileUtils at some point, and update the README.

from afilechooser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.