android - 从文件管理器或其他应用程序将用户带到我的活动
问题描述
在我的应用程序中有一个可以编辑文本文件的活动。我想打开此活动中的所有文本文件。我尝试了以下意图过滤器,但它不起作用,当单击文本文件文件管理器时,不会在可用应用程序列表中显示我的应用程序。我的问题是如何对我的应用程序进行编程,使其可用于任何文本文件。
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@drawable/note_it_icon"
android:label="@string/app_name"
android:roundIcon="@drawable/note_it_icon"
android:supportsRtl="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
</activity>
<activity
android:name=".Welcome_Act"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".EditorActivity"
android:label="@string/title_activity_editor">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:mimeType="text/plain"/>
<data android:mimeType="image/jpeg"/>
<data android:host="*" />
<data android:scheme="file"/>
</intent-filter>
</activity>
<activity android:name=".DialogActivity"
android:theme="@style/Theme.AppCompat.Light.Dialog">
</activity>
<activity android:name=".SecureActivity">
</activity>
<activity
android:name=".IntroActivity"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:name=".FirstNoteActivity"
android:label="@string/title_activity_first_note">
</activity>
<activity android:name=".PermissionActivity"
android:theme="@style/AppTheme">
</activity>
<activity android:name=".CreditActivity">
</activity>
<activity
android:name=".PreferenceActivity"
android:label="@string/title_activity_preference">
</activity>
</application>
在上面的代码中EditorActivity可以打开和编辑文本文件。我想使用 EditorActivity 从存储中打开文本文件。我想在下面的屏幕截图列表中添加我的应用程序的 EditorActivity。
解决方案
好吧,我使用的是 android Nougat,它还需要一件事:
<data android:scheme="content" />
现在它的工作。完整的意图过滤器是:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain"/>
<data android:mimeType="image/jpeg"/>
<data android:host="*" />
<data android:scheme="file"/>
<data android:scheme="content" />
</intent-filter>
推荐阅读
- text - 如果数据框中的字符串包含子字符串,则将所有内容替换为其他内容
- javascript - Angular/typescript 映射对象
- python - 在python中将带有图像的目录转换为csv文件
- javascript - Adobe Forms - 用户添加新字段的能力
- powerbi - 应用基于 Power BI 中另一个表中的列的筛选器后,如何聚合一个表中的一列?
- java - Angular 应用程序仅在 chrome 中出现 CORS 错误
- r - 为什么将 renderPrint() 与 read_csv2 读取的 .csv 文件结合使用会在我的输出中产生一个奇怪的索引栏?
- java - 如何使用 REST Easy 和 Vertx 启用 @Valid 注释
- javascript - 使用 Rollup 使用 Vue 编译 javascript 时出错
- ios - 关闭从不同方法呈现的视图控制器