0

我试过搜索类似的问题,但没有一个关于这个话题很清楚。

所以,我有一个应用程序,我想使用二维码阅读器来启动它。例如,如果我拍摄 QR 码的照片,QR 阅读器会将其翻译成网址并以该地址作为参数启动我的应用程序。我该怎么做呢?我无法访问 QR 阅读器,因为它可以是商店中的任何应用程序。如何让我的应用程序出现在可用程序列表中以处理参数?

4

2 回答 2

1

如何从 QR 阅读器启动我的 Android 应用程序?

你没有,确切地说。您允许基于特定Intent结构启动您的 Android 应用程序,其中一个或多个可能由 QR 码阅读器使用。

例如,如果我拍摄 QR 码的照片,QR 阅读器会将其翻译成网址并以该地址作为参数启动我的应用程序。我该怎么做呢?

有一个<intent-filter>说明<activity>它处理该 URL,例如:

        <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="www.this-so-does-not-exist.com"
                android:path="/something"
                android:scheme="http"/>
        </intent-filter>

<intent-filter>将匹配 URL http://www.this-so-does-not-exist.com/something。更改<data>元素将更改您匹配的 URL。

于 2013-04-22T18:08:37.203 回答
0

或者您可以像这样设置自己的方案。

    <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="something"
            android:scheme="myapp"/>
    </intent-filter>

如果您输入“ myapp://someting/string to send to app”,您的应用程序将启动,您将使用以下代码获得最后一部分

getIntent().getData().getLastPathSegment()
于 2013-04-22T20:32:56.050 回答