本插件可以使用安卓原生开发调用,具体方法如下
1.下载apk插件
2.放到项目asset文件夹下
3.AndroidManifest.xml文件中添加权限
<uses-permission android:name="android.permission.INTERNET" ></uses>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" ></uses>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" ></uses>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses>
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" ></uses>
<!-- 声明权限 -->
<uses-permission android:name="android.permission.BIND_WALLPAPER" ></uses>
<uses-feature android:name="android.hardware.usb.accessory" ></uses>
<uses-permission android:name="android.permission.USB_PERMISSION" ></uses> <!-- 添加USB权限 -->
<uses-feature android:name="android.hardware.usb.host" ></uses>
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission android:name="android.permission.BLUETOOTH" ></uses>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" ></uses>
<!-- Needed only if your app looks for Bluetooth devices.
You must add an attribute to this permission, or declare the
ACCESS_FINE_LOCATION permission, depending on the results when you
check location usage in your app. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" ></uses>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" ></uses>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" ></uses>
<!-- Needed only if your app makes the device discoverable to Bluetooth
devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" ></uses>
<!-- Needed only if your app communicates with already-paired Bluetooth
devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" ></uses>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" ></uses>
具体说明如下:
1. <uses-permission android:name="android.permission.INTERNET" ></uses>:声明应用需要访问互联网的权限。
2. <uses-permission android:name="android.permission.FOREGROUND_SERVICE" ></uses>:允许应用在前台运行服务。
3. <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" ></uses>:请求忽略电池优化的权限,以便应用在后台运行时不会被系统电池优化功能所限制。
4. <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses>:允许应用在其他应用的窗口之上显示系统级的窗口。
5. <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" ></uses>:允许应用使用内部系统窗口,通常用于创建系统级别的UI组件,但需要注意的是,此权限并不是官方公开的权限,普通应用不建议使用,需确保其合法性。
6. <uses-permission android:name="android.permission.BIND_WALLPAPER" ></uses>:允许应用绑定为壁纸服务。
7. <uses-feature android:name="android.hardware.usb.accessory" ></uses>:声明应用需要访问USB配件的功能。
8. <uses-permission android:name="android.permission.USB_PERMISSION" ></uses>:请求USB设备的权限。
9. <uses-feature android:name="android.hardware.usb.host" ></uses>:声明应用需要作为USB主机的功能,可以连接并控制外接USB设备。
10.<uses-permission android:name="android.permission.BLUETOOTH" ></uses>:允许应用进行基本的蓝牙操作。
11.<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" ></uses>:允许应用配置蓝牙设置和管理蓝牙设备。
12.<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" ></uses>:允许应用连接到蓝牙设备。
13.<uses-permission android:name="android.permission.BLUETOOTH_SCAN" ></uses>:允许应用扫描周围的蓝牙设备。
14.<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" ></uses>:允许应用使设备可被其他蓝牙设备发现。
15.<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" ></uses>:允许应用访问大致位置信息,用于发现蓝牙设备。
16.<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses>:允许应用访问精确位置信息,同样用于发现蓝牙设备。
4.把这个xml文件添加到xml文件夹中accessory_filter.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-accessory manufacturer="aiwork" model="hid" version="2.0" />
</resources>
5.在AndroidManifest.xml 中 mainActivity中添加以下代码
<activity
android:name=".MainActivity"
android:exported="true">
<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> <!-- 注册USB设备连接和断开的广播接收器 -->
具体说明如下:
<activity
android:name=".MainActivity"
android:exported="true">
<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>
1. <activity android:name=".MainActivity" android:exported="true">: 声明一个名为MainActivity的活动(Activity),android:name=".MainActivity"指定了活动的类名,.MainActivity表示该活动位于应用的根包中。android:exported="true"表示该活动可以被其他应用启动。
2. <intent-filter>: 用于定义该活动可以响应的Intent。每个<intent-filter>可以包含<action>、<category>和<data>等子元素,用以指定活动能够处理的Intent类型。
o 第一个<intent-filter>:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这个intent-filter定义了该活动作为应用的入口点。<action android:name="android.intent.action.MAIN" />表示该活动是应用的主要活动。<category android:name="android.intent.category.LAUNCHER" />表示该活动可以在应用启动器中启动,即它会出现在应用的快捷方式或图标上,让用户可以点击启动应用。
o 第二个<intent-filter>:
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
这个intent-filter定义了该活动可以响应USB配件连接的Intent。<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />表示该活动会在USB配件连接到设备时被触发。
3. <meta-data>: 用于为该活动提供额外的信息。在这个例子中,<meta-data>用于指定USB配件的过滤器配置文件。
o <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" />: 这个meta-data标签指定了当USB配件连接时,系统会根据@xml/accessory_filter文件中的配置来决定是否将该Intent发送给MainActivity。@xml/accessory_filter是一个XML资源文件,定义了应用可以兼容的USB配件的属性(如制造商、产品ID等),当设备检测到符合这些属性的USB配件连接时,会将USB_ACCESSORY_ATTACHED的Intent发送给MainActivity。
总结:这段代码声明了一个名为MainActivity的活动,并将其设置为应用的入口点,使其可以在设备的启动器中显示。此外,它还声明了MainActivity可以响应USB配件连接的事件,并通过meta-data标签指定了一个XML配置文件,用于定义应用可以兼容的USB配件的具体属性。
欢迎光临 自动发帖软件 (http://www.fatiegongju.com/) | Powered by Discuz! X3.2 |