[英]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.