繁体   English   中英

仅在应用程序未运行时才从intent启动活动

[英]Launching an Activity from intent only if application is not running

我的应用程序有一个用于登录的Activity, LoginActivity ,我已经为它定义了一个intent过滤器,这样如果有人插入USB设备,就会启动LoginActivity。 这种情况很好。

编码:

<activity
    android:name=".main.login.LoginActivity"
    ...
    >
  <intent-filter>
      <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
  </intent-filter>

  <meta-data
      android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
      android:resource="@xml/device_filter"
      />
</activity>

但是,当应用程序运行时,会发生这种情况:我正在连接USB设备并被“重定向”到登录屏幕( LoginActivity )。 在这种情况下,我不想发起新活动。

我该怎么做才能获得通缉行为?

将其添加到AndroidManifest.xml中的活动:

android:launchMode="singleTop"

https://developer.android.com/guide/topics/manifest/activity-element.html#lmode

你应该像下面那样放置意图过滤器而不是你的代码。

            <action android:name="android.intent.action.MAIN" />

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM