首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启动二维码app?

如何启动二维码app?
EN

Stack Overflow用户
提问于 2018-02-05 01:39:09
回答 2查看 3K关注 0票数 0

我正在制作一个健身运动的android应用程序,我需要通过扫描运动特定的二维码来打开一个特定的运动。

如果二维码为gymassistant://,则应用程序将打开,但我需要启动一个特定的练习。

下面是我添加到清单中的代码

代码语言:javascript
复制
        <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="gymassistant"/>
        </intent-filter>

二维码应该包含什么,我应该在我的活动/清单中写什么才能打开特定的练习?

EN

回答 2

Stack Overflow用户

发布于 2018-02-05 02:17:52

根据a related content on Android Developers Siteanother related topic on the same site的说法,你应该在你的活动中从捆绑包中获得数据,并相应地。

因此,当你注册一个像<data android:scheme="gymassistant"/>这样的数据时,你是在允许其他应用程序打开你的应用程序,并使用诸如gymassistant://这样的链接,但是,它并不限制你的应用程序使用URI的剩余部分。例如,您的活动也以gymassistant://exercise1gymassistant://exercise2等链接开始。

正如我上面提到的,您需要做的是读取活动中的数据并采取相应的操作。例如,下面的代码是处理这个问题的最简单的方法。我相信你会找到更好的方法:)

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(...);

    // Get the intent that started this activity
    Intent intent = getIntent();
    // Get the original QR code data
    String data = intent.getData().toString();
    // Extract the exercise id and use it
    String dataArgs = data.replace("gymassistant://", "");
    switch(dataArgs) {
        case "exercise1":
            //show exercise1 related view
            break;
        case "exercise2":
            //show exercise2 related view
            break;
        //ETC
    }
}

我希望我能帮助你解决你的问题:)

票数 2
EN

Stack Overflow用户

发布于 2020-11-20 13:20:11

问题似乎是要求在扫描二维码时打开应用程序,如果应用程序没有安装,请打开网页,而不是在手机中打开一些应用程序来扫描二维码。

你可能会对一项名为deep linking的新功能感兴趣,如果你使用的是苹果iOS 11,它会在手机摄像头扫描到二维码图像时打开注册的应用程序。否则,它会打开网页浏览器,进入网站或重定向到应用商店下载应用程序(基于二维码中包含的后备设置)。

对于使用早期操作系统的用户,“打开你的二维码扫描应用程序进行扫描。”(和往常一样)。对于那些没有二维码扫描应用的人,他们需要下载一个(扫描二维码),或者升级到支持深度链接类似功能的设备。

这两种方法似乎都有相同的目标(通过扫描QR数据或由用户打开以扫描QR中的数据来打开应用程序)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48611088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档