Android启动应用程序从QR码与params

And*_*oid 14 android qr-code

我想知道在Android中是否可以使用QR Code阅读器启动应用程序.我想要实现的目标是:

我创建QR码,用QR码阅读器扫描后,我需要用一些参数启动我的应用程序,也许它看起来像这样:myApp://org.hardartcore.myApp?myParams或类似的东西,不是真的当然.

无论如何都要实现这一点,并获得在qr代码中构建的param以启动应用程序.

And*_*oid 10

使用此文本创建QR CODE:myApp://extraString并使用任何qr代码阅读器阅读.或者甚至可以使用Zxing开源集成自己的qr代码阅读器.你可以extraString使用提到的@Sean Owen getIntent().getDataString().不要忘记在清单文件中添加:

<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="myApp"/>
Run Code Online (Sandbox Code Playgroud)

这应该工作.


Sea*_*wen 7

是的。在 中AndroidManifest.xml,在您的 中<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:scheme="myApp" android:host="org.hardartcore.myApp" android:path="/"/>
  </intent-filter>
Run Code Online (Sandbox Code Playgroud)

(我认为您可能必须在“?”之前以“/”结尾才能使其工作。)

然后任何使用该平台解析 URL 的内容都会打开您的应用程序。Web 浏览器中的超链接将起作用。

可以使用 检索 URL 本身getIntent().getDataString()。您可以根据需要解析它android.net.Uri

看看CaptureActivity斑马线为它如何做一个这样的例子。