android - 仅在应用程序未运行时从 Intent 启动 Activity

标签 android android-activity

我的应用程序有一个用于登录的 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)。在这种情况下,我不想启动新 Activity 。

我应该怎么做才能获得想要的行为?

最佳答案

将此添加到您在 AndroidManifest.xml 中的 Activity :

android:launchMode="singleTop"

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

关于android - 仅在应用程序未运行时从 Intent 启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36938057/

相关文章:

Android ScrollView 设置显示内容的高度

android - 切换按钮未显示在应用程序中

android - onTaskRemoved 后再次创建服务

android - 如何读取 Android 和 iOS 的 GRIB 文件?

java - 恢复 Activity 时 FPS 降低

Android - 如何使用 asynctask android 获取 header 响应

android - 使用 imageview (Android) 滚动宽图像

java - 如何使用操作栏上的按钮打开另一个 Activity ?

android - 在文件选择器中访问外部存储

android - 如何从非 Activity 类启动 Activity?