我的应用程序未在列表中显示以在android 7.1.1中打开txt文件

时间:2017-09-20 08:58:14

标签: android android-manifest intentfilter android-7.1-nougat

您好我正在开发一个应用程序来打开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>

感谢您的帮助。

2 个答案:

答案 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