簡體   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