与文件扩展名关联应用程序 - 意图过滤器不工作? [英] Associate App with file extension - Intent filter Not working?

查看:248
本文介绍了与文件扩展名关联应用程序 - 意图过滤器不工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想我的应用程序在名单从任何地方在Android环境中打开PDF文件上。我环顾四周,并添加基于我读过这些意图。但是在测试和使用默认的应用程序打开宝来它只是打开它的PDF时?

这是我的理解是在活动中我用下面的code,以获得传递的信息。

 意向意图= getIntent();
字符串行动= intent.getAction();
字符串类型= intent.getType();

我试过disbaling宝来,然后打开时它说无法找到应用程序执行这个应用程序。

 <活动
        机器人:名字=用户登陆
        机器人:标签=用户验证>
        &所述;意图滤光器>
            <作用机器人:名字=com.example.USERLOGIN/>            <类机器人:名字=android.intent.category.DEFAULT/>
        &所述; /意图滤光器>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.VIEW/>            <类机器人:名字=android.intent.category.BROWSABLE/>
            <类机器人:名字=android.intent.category.DEFAULT/>            <数据机器人:计划=HTTP/>
            <数据机器人:主机=*/>
            <数据机器人:pathPattern = />中* \\\\ PDF格式。
        &所述; /意图滤光器>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.VIEW/>            <类机器人:名字=android.intent.category.BROWSABLE/>
            <类机器人:名字=android.intent.category.DEFAULT/>            <数据机器人:计划=HTTP/>
            <数据机器人:主机=*/>
            <数据机器人:mime类型=应用/ PDF/>
        &所述; /意图滤光器>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.VIEW/>            <类机器人:名字=android.intent.category.DEFAULT/>            <数据机器人:计划=文件/>
            <数据机器人:主机=*/>
            <数据机器人:pathPattern = />中* \\\\ PDF格式。
        &所述; /意图滤光器>
< /活性GT;


解决方案

这适用于我的:

 <活动
        机器人:名字=ui.PdfViewerActivity。>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.VIEW/>            <类机器人:名字=android.intent.category.DEFAULT/>
            <类机器人:名字=android.intent.category.BROWSABLE/>            <数据机器人:mime类型=应用/ PDF/>
        &所述; /意图滤光器>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.VIEW/>            <类机器人:名字=android.intent.category.DEFAULT/>
            <类机器人:名字=android.intent.category.BROWSABLE/>            <数据机器人:主机=*/>
            <数据机器人:计划=文件/>
            <数据机器人:计划=尖儿/>
            <数据机器人:计划=内容/>
            <数据机器人:计划=HTTP/>
            <数据机器人:计划=HTTPS/>
            <数据机器人:mime类型=* / */>
            <数据机器人:pathPattern = />中* \\\\ PDF格式。
        &所述; /意图滤光器>
    < /活性GT;

I want my application to be on the list to open pdfs from anywhere in the android environment. I've looked around and added these intents based on what I've read. However when testing and opening a pdf it just opens it using the default application polaris?

It is my understanding that in the activity I use the code below to get the information passed in.

Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();

I tried disbaling Polaris and then when opening it says unable to find application to perform this application.

<activity
        android:name=".UserLogIn"
        android:label="User Authentication" >
        <intent-filter>
            <action android:name="com.example.USERLOGIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />

            <data android:scheme="http" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.pdf" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />

            <data android:scheme="http" />
            <data android:host="*" />
            <data android:mimeType="application/pdf" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:scheme="file" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.pdf" />
        </intent-filter>
</activity>

解决方案

This works for mine:

    <activity
        android:name=".ui.PdfViewerActivity" >
        <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="application/pdf" />
        </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:host="*" />
            <data android:scheme="file" />
            <data android:scheme="smb" />
            <data android:scheme="content" />
            <data android:scheme="http" />
            <data android:scheme="https" />
            <data android:mimeType="*/*" />
            <data android:pathPattern=".*\\.pdf" />
        </intent-filter>
    </activity>

这篇关于与文件扩展名关联应用程序 - 意图过滤器不工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆