【问题标题】:Is there any way to disable deep link on Fragment?有什么方法可以禁用片段上的深层链接?
【发布时间】:2019-06-18 09:33:18
【问题描述】:

我使用具有 URL 链接的 NFC 实现了一个应用程序。因此,当 NFC 开启时,手机会检测 URL 并打开我的应用程序。

我是这样实现的:

<activity
    android:name=".view.main.MainActivity"
    android:launchMode="singleTop"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />
        <action android:name="android.nfc.action.TECH_DISCOVERED" />
        <!--<action android:name="android.intent.action.MAIN" />-->

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

        <data
            android:host="example.com"
            android:scheme="http" />
    </intent-filter>

    <meta-data
        android:name="android.nfc.action.TECH_DISCOVERED"
        android:resource="@xml/nfc_tech_filter" />
</activity>

但是,问题是,我有很多活动和片段。即使在我使用我的应用程序时它也可以工作,并且它会在每个活动和片段上保持打开我的应用程序。

我不想要这种行为。我希望它检测到我的应用程序中的 URL。我怎样才能实现这种行为?

【问题讨论】:

  • 请分享您的Activity 代码
  • 为什么需要它?有任何代码行。我只是不知道如何实现这一点。
  • 您想避免在您的应用中打开 url 时启动 Activity?
  • 是的。我使用该应用程序时的所有活动。我不想重新启动我的应用。

标签: android android-activity fragment android-deep-link


【解决方案1】:

使其成为单一任务以避免多次打开活动

android:launchMode="singleTask" 

另请阅读this doc 可能会对您有所帮助

【讨论】:

  • 我认为它只使用单个进程。但它仍然检测到deeplink。有没有更好的方法来避免 Deeplink?
  • 如果准确解释您想要避免的情况,我会帮助您解决这个问题。我想我不知道你到底想做什么,以及是什么让许多活动打开。
  • 你需要知道什么才能弄清楚?我想我已经解释了以上所有内容。就我而言,我只有一个活动和片段。但我也想知道其他情况。
  • 只需输入您的活动代码,以便我进行测试,我会尽快回复您
猜你喜欢
  • 1970-01-01
  • 2015-07-18
  • 2019-04-15
  • 1970-01-01
  • 2021-11-24
  • 2016-06-02
  • 2021-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多