Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以通过编程方式检查我的Android设备上是否存在任何文件资源管理器?_Android_Android Intent - Fatal编程技术网

是否可以通过编程方式检查我的Android设备上是否存在任何文件资源管理器?

是否可以通过编程方式检查我的Android设备上是否存在任何文件资源管理器?,android,android-intent,Android,Android Intent,我正在尝试将文件导入我的应用程序,下面是代码: Intent intent = new Intent(Intent.ACTION_GET_CONTENT); Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()); intent.setDataAndType(uri, "*/*"); startActivityForResult(Intent.createChooser(inte

我正在尝试将文件导入我的应用程序,下面是代码:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath());
intent.setDataAndType(uri, "*/*");              
startActivityForResult(Intent.createChooser(intent, "Select File"),
                    REQUESTCODE);

我想要的是,在启动意图之前,我想通过编程检查我的设备上是否存在任何文件资源管理器?如果是,则触发意图,如果不是,则我希望将用户重定向到Play store以下载一个,因为这是选择文件所必需的。是否可以实现此功能?请告诉我这件事。提前感谢。

您可以检查文件浏览器是否存在或未使用以下代码,如果不存在,请用户下载应用程序

PackageManager packageManager = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("file/*");
List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
                                PackageManager.GET_ACTIVITIES));

if (list.size > 0) {
    // File explore is present (Size tells how many file explorers are present)
} else {

    // Not present
    // Just pointing to this app - https://play.google.com/store/apps/details?id=com.rhmsoft.fm
    // You can choose whichever you need

     try {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.rhmsoft.fm")));
        } catch (android.content.ActivityNotFoundException e) {
            startActivity(new Intent(Intent.ACTION_VIEW,     Uri.parse("http://play.google.com/store/apps/details?id=com.rhmsoft.fm")));
      }
    }
PackageManager-PackageManager=getActivity().getPackageManager();
意向意向=新意向(意向.行动\u获取\u内容);
intent.setType(“file/*”);
列表=packageManager.QueryInputActivities(意图,
PackageManager.GET_活动);
如果(list.size>0){
//存在文件探索(大小表示存在多少文件探索器)
}否则{
//不在场
//只需指向此应用程序-https://play.google.com/store/apps/details?id=com.rhmsoft.fm
//你可以选择任何你需要的
试一试{
startActivity(新意图(Intent.ACTION_视图,Uri.parse(“market://details?id=com.rhmsoft.fm")));
}捕获(android.content.ActivityNotFoundException){
startActivity(新意图(Intent.ACTION_视图,Uri.parse(“http://play.google.com/store/apps/details?id=com.rhmsoft.fm")));
}
}

My freind这在我的情况下不起作用,我想浏览我需要ES file explorer之类的设备的本地存储。在您的代码列表中。size()始终>0,因此始终为true,因此我得到的弹出窗口将Google drive和drop box作为选项提供给我,这对我没有任何用处。我可以在设备上显式找到类似ES的文件资源管理器吗?请参阅我的编辑,它将首先检查文件资源管理器是否存在。如果没有,请用户下载我指出的应用程序。这就是您所需要的吗?为什么不将浏览文件系统的功能添加到您自己的应用程序中呢?这并不难。如果用户不想在其设备上安装第三方文件浏览器应用程序,该怎么办?@Squonk百万美元问题,该功能已经实现,但项目要求不同。:)