![](/img/trans.png)
[英]Error running 'app': The activity must be exported or contain an intent-filter
[英]intent-filter android restart app if app running
我正在編寫一個使用串行端口的應用程序。
這就是我的 xml 的樣子
<application>
...
<activity>
...
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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>
</application>
連接 usb 設備時,智能手機提示我使用 select 我的默認應用程序。
我允許使用它並記住選擇。
但是如果我在應用程序運行時切換 usb 設備,那么當連接時,應用程序將重新啟動......
如何避免這種情況?
我期待以下行為。
如果應用程序未運行,則在連接時啟動
如果應用程序正在運行,那么在連接后,應用程序會繼續工作,但會收到有關連接的通知。
將 android:launchMode="singleTop" 屬性添加到關聯的活動
<application>
...
<activity>
...
android:launchMode="singleTop"
...
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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>
</application>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.