您好我正在开发一个应用程序来打开txt文件。当用户触摸SD卡上的txt文件时,我的应用程序应显示在打开状态列表中。我的应用程序是与其他Android版本的工作文件,但电话不显示我的应用程序打开列表。手机是genrel mobile gm5 +。我不知道是因为手机还是Android版本。这是我的清单
<activity
android:name=".ui.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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:scheme="file" />
<data android:mimeType="text/plain" />
<data android:pathPattern=".*\\.txt" />
</intent-filter>
</activity>
感谢您的帮助。
答案 0 :(得分:0)
检查您是否拥有
的许可<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
尝试这样的事情
<activity
android:name=".ui.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.txt" />
</intent-filter>
</activity>
<data android:scheme="file" />
=&gt;这定义文件必须是本地文件,而不是http或其他
<data android:mimeType="*/*" />
=&gt;匹配任何mime类型(具体使用mimeType =&#34; text / plain&#34;)
<data android:pathPattern=".*\\.txt" />
=&gt;您可以在此处指定要匹配的扩展名
intent-filter可以包含多个操作,根据需要还需要两个intent-filter工作
希望这个帮助
答案 1 :(得分:0)
您也必须使用内容:
<data android:scheme="content"
android:mimeType="text/*" />
您也可以在此处使用pathpattern或指定其他mimeTypes