每次USB设备断开连接时,我都试图停止正在处理的应用程序要求USB权限。我遵循了:USB device access pop-up suppression?运气不佳。
在拔出USB设备之前,该应用程序会记住该USB设备。
如果有问题,我正在尝试将应用程序连接到Arduino Teensy。
这就是我的清单活动
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter> <!-- For receiving data from another application -->
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</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/usb_device_filter" />
</activity>
</application>
这是我的usb_device_filter文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device vendor-id="--hidden--" product-id="--hidden--" />
</resources>
欢迎任何帮助。
编辑:我也查看了Android Developer页面,当使用意图过滤器进行USB连接时,他们说:如果用户接受,则您的应用程序将自动拥有访问设备的权限,直到断开设备连接为止。
我还要指出,建议的重复项与我要解决的问题不相同。他们的问题是有两个活动,而我的问题只有一个。
https://developer.android.com/guide/topics/connectivity/usb/host
答案 0 :(得分:0)
我们最终在将USB插入手机后自动打开了该应用程序,因为我们的项目处理的应用程序全天都处于打开状态。
只要用户在打开应用程序之前连接USB且手机已解锁,则该应用程序仅请求许可一次将USB用于手机并立即记住它。重新启动手机后,手机还会记住该许可。
这是一种解决方法,但它可以满足我们的需求。希望这会帮助其他有相同问题的人。
答案 1 :(得分:-1)
正如问问者here所说,出于您的直觉(如果我理解正确),以下内容就足够了。没错,他遇到了一个不同的问题,但他开始提问,说这对于您的案例是有效的。
<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>