当前位置: 首页 > 知识库问答 >
问题:

通过android中的服务获得USB开放附件权限

丰誉
2023-03-14

美好的一天,

我有一个通过服务将我的android设备连接到arduino设备的应用程序。我已经成功地建立了连接,但每当我插入配件时,它总是要求我允许使用它。有没有办法绕过这个权限?如果我通过一个活动来做,它与意图过滤器完美地工作,我已经尝试在服务中应用相同的意图,但它似乎不工作:/。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="blink.service"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <uses-feature android:name="android.hardware.usb.accessory" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".ActivityCreate">
             <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".StartupIntent" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <service 
            android:name=".MainService"
            android:label="@string/app_name">
            <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" />
        </service>
        <uses-library android:name="com.android.future.usb.accessory"/>

    </application>



</manifest>

这是我的清单中的代码。爱内里菜

共有1个答案

李勇
2023-03-14

若要绕过权限,必须使应用成为系统应用。要使应用程序作为系统应用程序运行,您必须将apk放在系统/应用程序文件夹中。为此,我首先使用以下代码使用adb将系统驱动器重新挂载为rw(读写):

adb remount rw
push "apk path" /system/app
adb remount ro

现在重新启动系统。Android将不再请求许可。

 类似资料:
  • 我正在开发一个使用USB附件的应用程序。当我将设备连接到arduino时,它要求usb许可,并且在对话框中有复选框“默认使用”。当我检查并按下“确定”时,它应该会保存许可,并且不再询问我,但每次我连接USB时它都在询问许可。我想保存权限有什么方法可以保存这个吗? 我的代码看起来像 Android清单文件看起来 附件过滤器就像 我的广播接收器代码 和设置附件代码

  • 我不想获得连接到USB附件的许可,因为我想连接到特定的USB附件。有没有可能?正如我所读到的关于android.com的如下内容 注意:如果您的应用程序使用意向过滤器在连接附件时发现配件,则 那么有没有可能这样做。请帮帮忙。 谢谢高拉夫

  • 问题内容: 这更多的是设计而不是实现问题,而且会很长,请耐心等待。最好用一个例子来解释: 假设我有一个名为 Product 的业务实体,该实体具有许多属性( 名称 , 价格 , 供应商 等)。 它由一个接口( 产品 )和实现( ProductImpl ,在Hibernate中映射)以及基本的CRUD服务接口( ProductService )和实现( ProductServiceImpl )表示。

  • 我使用的是运行stock TouchWiz 4.4.2的三星galaxy Note II(未根目录)。我的手机支持micro-USB-OTG并且我可以将我的USB挂载为rwxrwx--x而不需要根。我的USB的完整路径是/Storage/USBDriveA。 我尝试使用Environment.getExternalStorageDirectory()获取路径或直接使用路径(上面提到过),但都没有成

  • 我在mac上生成一个ssh密钥对,并将公钥添加到我的ubuntu服务器(实际上,它是mac上的一个虚拟机),但当我尝试登录ubuntu服务器时,它会说: 我已经尝试了很多方法来解决这个问题,改变密钥文件模式,改变文件夹模式,就像stackoverflow上的一些答案一样,但是它不起作用。 密钥文件权限: 请给我一些想法========================================

  • 我正试图从Python脚本中获得一个服务帐户来在Google Cloud Storage中创建Blob,但我遇到了凭据问题。 如果我将环境变量设置为 然后重新运行脚本。但是,我希望它在创建帐户的脚本的一个实例中运行,并继续在桶中创建必要的文件。如果我知道我的json凭据文件在哪里,我如何访问my_bucket。