2015-10-06 5 views
15

Ich folge this guidecom.android.future.usb Bibliothek auf API verwenden 10.Anwendung startet nicht bei der Verwendung von `com.android.future.usb.accessory` Bibliothek

ich folgendes gemacht:

  • Installierte Google APIs 10 von SDK-Manager: GoogleAPI10
  • Google APIs 10, wie mein Projekt Build-Ziel Chose: ProjectTarget
  • dieseHinzugefügt:

<uses-feature android:name="android.hardware.usb.accessory" /> (direkter Nachkomme von <manifest>)

<uses-library android:name="com.android.future.usb.accessory" /> (Kind <application>)

<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" /> (Kind des ersten activity)

  • res/xml/accessory_filter.xml Erstellt wie erwähnt here.

Dadurch konnte ich com.android.future.usb und seine Unterklassen verwenden. Aber das Problem ist, dass die Anwendung nach den Änderungen in manifest nicht gestartet wird.

Dies ist ein gerootetes Gerät, und diese Anwendung wird vom Betriebssystem so konfiguriert, dass sie beim Gerätestart automatisch gestartet wird.

Sollte ich andere Konfigurationen vornehmen, damit dies funktioniert? Vielleicht sollte etwas in der Firmware gemacht werden?

edit:

Hier logcat mit allem, was zu usb Bezug:

USB mass storage support is not enabled in the kernerl 
usb_configuration switch is not enabled in the kernerl 
Volume usb state changing -1 (Initializing) -> 0 (No-Media) 
Ignoring unknown switch 'usb_connected' 
Package com.example.gui requires unavailable shared library com.android.future.usb.accessory: failing! 
Skipping unknown volume '/mnt/usb' 
USB Service 
This kernel does not have USB configuration switch support 
+1

'Aber das Problem ist, dass die Anwendung nach den Änderungen im Manifest nicht gestartet wird. 'Bitte erläutern Sie, welchen Fehler Sie begegnen, und fügen Sie Ihren Logcat hier ein. –

Antwort

-1

Es ist nicht klar, was meinen Sie mit the application won't start.

Wenn Sie erwarten, dass die Anwendung automatically on device startup gestartet wird. Dies hat die Anweisungen dafür: How to start an Application on startup?

Wenn das Problem ist, wird die Anwendung nicht kompilieren, mehr Informationen zum aufgetretenen Fehler wird benötigt.

Sie erwähnen, dass Sie Änderungen am Manifest gemäß dem von Ihnen angegebenen Link vorgenommen haben. Dieses Beispiel enthält auch einen intent-filter-Tag für das Aktivitätselement im Manifest, das Sie nicht erwähnt haben. So ist die Aktivität Element im Manifest habe zwei Intent-Filter:

 <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" > 
     <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_ACCESSORY_ATTACHED" /> 
     </intent-filter> 

     <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" 
        android:resource="@xml/accessory_filter" /> 

    </activity> 

Also, Ihre Anwendung nicht sein könnte beginnen, weil Sie die MAIN/LAUNCHER Intent-Filter aus Ihrer Aktivität manifestieren entfernt?

+0

Wie ich schon sagte "die Anwendung wird nicht ** nach ** den Änderungen in Manifest starten." Das bedeutet, dass die Anwendung vor den Änderungen gestartet wurde. Daher ist das Verknüpfen eines "Wie starte ich eine Anwendung beim Start" nicht relevant. Und die Absicht ist nicht notwendig zum ** Starten ** der Anwendung. Die Absicht ist nur, auf die Aktion zu warten ('usb_attached'). Und nein, ich habe die Hauptabsicht nicht entfernt ... –

Verwandte Themen