USB Berechtigungen ohne Eingabeaufforderung

Ich habe 2 Aktivitäten in meiner App. SagenFirstActivity undSecondActivity. FirstActivity ist die MAIN- und LAUNCHER-Aktivität.SecondActivity verwendet USB-Geräte. Ich möchte, dass die Eingabeaufforderung für die USB-Berechtigung nur einmal innerhalb der Lebensdauer der App angezeigt wird.

Wenn es nur eine Aktivität gab, haben die folgenden Zeilen im Manifest meinen Zweck erfüllt:

<activity android:name=".FirstActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <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/usb_device_filter" />
</activity>

Dies hat Folgendes getan:

Starten von FirstActivity, wenn ein USB-Gerät (in XML erwähnt) angeschlossen ist, ist die App noch nicht geöffnet.Prompt für USB-Geräteberechtigung wird nur einmal angezeigt.

Wie ändere ich dies, um Folgendes zu erreichen:

Wenn SecondActivity bereits ausgeführt wird und ein neues USB-Gerät angeschlossen ist, muss ich das Gerät verwenden können, ohne die App neu zu starten. Also habe ich einen Rundfunkempfänger dafür wie folgt geschrieben:

public class TriggerReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) { 
        read connected usb devices and register serial port call listener back.
    }
}    

Aber das Problem istFirstActivity wird erneut neu gestartet, wenn ein USB-Gerät angeschlossen wird, währendSecondActivity läuft. Wie vermeide ich das?

Wird bei Bedarf weitere Informationen hinzufügen. Wäre für jede Hilfe dankbar.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage