Android如何触发intent打开指定目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android如何触发intent打开指定目录相关的知识,希望对你有一定的参考价值。
想用自带的文件管理器打开指定目录,然后点击文件返回其路径给调用的activity。
即使设置intent.setType("*/*")还是调用不了系统自带的文件管理器。
Intent intentShowFile = new Intent(Intent.ACTION_GET_CONTENT);
intentShowFile.setType("*/*");
intentShowFile.addCategory(Intent.CATEGORY_OPENABLE);
startActivity(intentShowFile);
系统一般自带文件管理器,但是不清楚如何调用.android原生的文件管理器的Activity名是什么?
1、android系统内置了很多应用,包括电话拨号,短信,浏览器等,这里创建一个简单的Android程序,调用内置的浏览器打开指定的地址。
2、对应的layout xml为:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btnGo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="46dp"
android:text="@string/btnTitle_go" />
<EditText
android:id="@+id/txtUri"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnGo"
android:layout_alignBottom="@+id/btnGo"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btnGo"
android:ems="10"
android:text="http://junqilian.cnblogs.com" >
<requestFocus />
</EditText>
</RelativeLayout>
3、Java代码实现如下,主要是给EditText添加一个OnKeyListener,处理在editText里面按回车键,给button添加一个onClickListener,触发到OpenBroswer函数,通过intent打开内置的浏览器。 参考技术B 这个就像打开图库一样的。你可以去找相关源码。。。startactivityforresult
Android 的文件资源管理器 Intent 的起始目录
【中文标题】Android 的文件资源管理器 Intent 的起始目录【英文标题】:start directory of a file explorer Intent for Android 【发布时间】:2018-10-06 18:02:20 【问题描述】:在指定目录中按 Intent 启动文件资源管理器的正确方法是什么?
下面的代码 sn-p 工作正常,只是它从错误的目录开始。
所需的起点是“selectedUri”
val selectedUri = Uri.parse(externalStorage.toString() + "DCIM/Camera/")
val intent= Intent(Intent.ACTION_GET_CONTENT).apply
addCategory(Intent.CATEGORY_OPENABLE)
type = "image/*"
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
【问题讨论】:
【参考方案1】:您忘记设置意图数据
val selectedUri = Uri.parse(externalStorage.toString() + "DCIM/Camera/")
val intent= Intent(Intent.ACTION_GET_CONTENT).apply
addCategory(Intent.CATEGORY_OPENABLE)
data = selectedUri
type = "image/*"
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
【讨论】:
是的,我同意你的看法,但它不适用于我的三星 XCover以上是关于Android如何触发intent打开指定目录的主要内容,如果未能解决你的问题,请参考以下文章