java - Android 应用程序不会记住 USB 权限
问题描述
我试图阻止我正在开发的应用程序在每次 USB 设备断开连接时请求 USB 权限。我关注了: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 开发人员页面,他们在使用意图过滤器进行 USB 连接时说:如果用户接受,您的应用程序将自动获得访问设备的权限,直到设备断开连接。
我还想指出,建议的副本与我试图解决的问题不同。他们的问题是有两项活动,而我的问题只涉及一项。
https://developer.android.com/guide/topics/connectivity/usb/host
解决方案
当 USB 插入手机时,我们最终自动打开了应用程序,因为我们的项目处理的是全天打开的应用程序。
该应用程序只要求手机使用USB一次的权限并立即记住它,只要用户在打开应用程序之前连接USB并且手机已解锁。手机重启后,手机甚至会记住权限。
这是一种解决方法,但它可以满足我们的需求。希望这将帮助其他一些有同样问题的人。
推荐阅读
- amazon-web-services - 为什么我不能在 Elastic Beanstalk 上编写带有 .ebextensions 的文件?
- c# - 如何在 POWERBI 中加入多数据库 SQL 查询
- javascript - Javascript /Typescript/Angular 根据创建时间隐藏 div
- php - .htaccess 删除 .php 并添加 url 参数
- swift - 当模型类具有空键值时,集合视图不显示项目
- c - C 中的 HTTPS 发布请求
- javascript - 为旧浏览器迁移 JS 中的高级代码的正确方法
- html - CSS - 卡片上的倾斜背景
- ios - 为什么我的表格视图单元类实例不在我的 Swift 代码中运行它的初始化程序?
- java - 从 Spring App (docker-compose) 在 Mongodb 连接上获取“异常打开套接字”