Android 10 USB-Host – Verbindung zum Gerät nicht möglich, Berechtigung nicht erteilt (sollte aber sein)Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Android 10 USB-Host – Verbindung zum Gerät nicht möglich, Berechtigung nicht erteilt (sollte aber sein)

Post by Anonymous »

Ich habe die Anleitung von hier befolgt, um eine Verbindung zu einem USB-Gerät mit dem Android-Telefon als Host herzustellen. https://developer.android.com/guide/top ... /host.html

Aus dem folgenden Absatz gehe ich davon aus, dass ich, solange ich einen Absichtsfilter für die Aktion „USB_Device_Attached“ und einen Filter für mein Gerät korrekt einrichte, bereits über alle Berechtigungen verfügen sollte, die ich zum Herstellen einer Verbindung benötige.

Code: Select all

Note: If your application uses an intent filter to discover USB devices as they're connected, it automatically receives permission if the user allows your application to handle the intent. If not, you must request permission explicitly in your application before connecting to the device.
Mein einfaches Beispiel:

Code: Select all

public class MainActivity extends Activity {
private final static String TAG = "USB_HOST_EXAMPLE";
UsbManager usbManager;
UsbDeviceConnection connection;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
Intent intent = getIntent();
if (intent != null) {
UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (device != null) {
Log.w(TAG, "Started activty from intent filter, using device: " + device.getProductName());
connection = usbManager.openDevice(device);
}
}
}
}
Aktuelles Verhalten:
  • App ist geschlossen
  • USB-Gerät anschließen
  • Popup mit der Frage, ob ich meine App öffnen möchte, um dieses USB-Gerät zu verwenden. (Mein Absichtsfilter muss also funktionieren)
  • App wird geöffnet.
  • App stellt eine Verbindung zum Gerät her.
  • App kann keine Verbindung herstellen und antwortet mit der folgenden Ausnahme:

Code: Select all

 java.lang.SecurityException: User has not given 10277/com.example.basic_usb_host permission to access device /dev/bus/usb/001/002


Ich habe auch versucht, Geräte aufzuzählen und Berechtigungen anzufordern, wie hier beschrieben, aber wenn ich mein USB-Gerät gefunden habe und auf „Berechtigungen anfordern“ gehe, erscheint das „Popup“, das beim Aufruf von

angezeigt werden sollte

Code: Select all

usbManager.requestPermission(device, permissionIntent);
wird nicht angezeigt und der Rundfunkempfänger meldet

Code: Select all

permission denied for device UsbDevice.....


Ich verwende Android 10 und habe das gleiche Problem mit einem Pixel 2 und Pixel 3a festgestellt (das 3a ist gerootet).

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post