当前位置: 首页 > news >正文

怎么样做网站的目录结构ftp地址格式怎么写

怎么样做网站的目录结构,ftp地址格式怎么写,模板制作网站杭州,有趣的网站源码USB android授权方式权限的控制分三块#xff1a;1:USB host端有个线程循环检测系统是否USB设备插拔#xff0c;如果有就找到申请权限的APP并调用起来2:APP运行后主动申请权限#xff0c;也就是requestPermission()接口3:APP运行后直接打开USB设备#xff0c;这时候USB hos…USB android授权方式权限的控制分三块1:USB host端有个线程循环检测系统是否USB设备插拔如果有就找到申请权限的APP并调用起来2:APP运行后主动申请权限也就是requestPermission()接口3:APP运行后直接打开USB设备这时候USB host端会去检测APP是否已经有控制权限了也就是调用的hasPermission()接口第一种方式主要是再设计app 时候能通过系统intent filter , 进行启动某个activity第二种方式主要是设计app已经启动再使用usb 的使用进行动态注册申请权限第三中跟第二种类似是再open device 时候进行申请权限, 可以hasPermission 授权第一种systemReady - UsbHostManager.javamonitorUsbHostBus -android_server_UsbHostManager_monitorUsbHostBus - android_server_UsbHostManager.cppusb_host_run - Usbhost.cusb_host_read_event -context-cb_added - //有usb设备添加usb_device_added -env-CallVoidMethod - //对方方法method_endUsbDeviceAdded  -- endUsbDeviceAddedendUsbDeviceAdded - UsbHostManager.javagetCurrentSettings().deviceAttached -deviceAttached - UsbSettingsManager.javaresolveActivity -resolveActivity -mUserContext.startActivityAsUser //包名是com.android.systemui.usb.UsbConfirmActivityonCreate - UsbConfirmActivity.javasetupAlert //弹出权限确认对话框第二种requestPermission - UsbManager.javamService.requestDevicePermission -requestDevicePermission - UsbService.javagetSettingsForUser(userId).requestPermission -requestPermission - UsbSettingsManager.javarequestPermissionDialog -mUserContext.startActivityAsUser //包名com.android.systemui.usb.UsbPermissionActivityonCreate - UsbPermissionActivity.javasetupAlert //弹出权限确认对话框第三种openDevice - UsbService.javamHostManager.openDevice -openDevice - UsbHostManager.javagetCurrentSettings().checkPermission -hasPermission UsbSettingsManager.java第一种方式问题及处理方法APP 设计插入启动activity, 下面是静态注册图片.png动态注册Overridepublic void registerReceiver() {IntentFilter mUsbDeviceFilter new IntentFilter();mUsbDeviceFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);mUsbDeviceFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);mUsbDeviceFilter.addAction(ACTION_USB_PERMISSION);mContext.registerReceiver(this,mUsbDeviceFilter);}1-声明 为android.hardware.usb.host2-如果你的APP想要在有USB device插入时能够被调用起来那么必须要在xml的Activity中申请权限android.hardware.usb.action.USB_DEVICE_ATTACHED3-如果只关心某些设备可以通过里配置一个xml文件来做过滤如果不想弹出权限:diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.javaindex 3eccccd..18130ab 100644--- a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java -99,6 99,11 public class UsbConfirmActivity extends AlertActivitysetupAlert(); if (mResolveInfo.activityInfo.packageName.equals(ai.xxxx.xxx)) { Log.d(TAG, UsbConfirmActivity enable Usb permission for ai.xxxx.xxx); onClick(this, AlertDialog.BUTTON_POSITIVE); }}第二、三种流程及问题处理方法详细流程图片.png新建activity获取UsbManager usbManager (UsbManager) getSystemService(Context.USB_SERVICE)获取所以的USB设备HashMap map usbManager.getDeviceList()过滤别的USB设备拿到自己USB的USBDevice类然后请求USB权限usbManager.requestPermission(usbDevice, pendingIntent);并注册一个回调意图用来判断用户是否授予权限UsbManager类的requestPermission方法会调用mService. requestDevicePermission在requestDevicePermission方法里面调用的getSettingsForUser(userId).requestPermissiongetSettingsForUser(userId)其实是去获取UsbUserSettingsManager实例所以是调用的UsbUserSettingsManager的requestPermission方法在requestPermission方法里面首先会进行判断是否拥有USB权限如果有就回调广播直接return返回的。如果没有那就判断是否有相机权限如果没有权限回调广播直接return的。注意从始至终是没有发送用户拒绝的广播的接着会调用自身的requestPermissionDialog方法在requestPermissionDialog方法里面又会去调用mUsbPermissionManager.requestPermissionDialog方法10.最终在UsbPermissionManager类的requestPermissionDialog方法中调用startActivityAsUser 启动UsbPermissionActivity权限申请对话框11.监听弹出权限对话框的onclick方法如果点击的授权那就在UsbPermissionActivity的onDestory里面回调最开始的广播通知我们的应用用户授予的权限。实例如果对usb 授权需要知道vid pidandroid/frameworks/base/services/usb/java/com/android/server/usb/UsbUserSettingsManager.javapublic boolean hasPermission(UsbDevice device) {synchronized (mLock) {int uid Binder.getCallingUid();if (uid Process.SYSTEM_UID || mDisablePermissionDialogs) {return true;} if( vid pid true) { String deviceName device.getDeviceName(); Slog.d(TAG, customer uid:uiddeviceName:deviceName); SparseBooleanArray uidList mDevicePermissionMap.get(deviceName); if (uidList null) { uidList new SparseBooleanArray(1); mDevicePermissionMap.put(deviceName, uidList); } uidList.put(uid, true); }SparseBooleanArray uidList mDevicePermissionMap.get(device.getDeviceName());if (uidList null) {return false;}return uidList.get(uid);}}
http://www.zqtcl.cn/news/185080/

相关文章:

  • 网站维护建设费应计入科目高端营销型网站制作
  • 推荐几个好的网站wordpress 加载数据库表格也卖弄
  • 承德网站开发找人做网站安全吗
  • 百度网站推广电话眼镜网站怎么做竞价
  • 邢台建设银行官方网站为什么建设网站很多公司没有
  • 闵行做网站费用湖南正规网络营销哪家便宜
  • 找个公司做网站需要注意什么wordpress用户名长度
  • 推荐几个没封的正能量网站营销技巧和营销方法视频
  • html mip 网站桂林市临桂区
  • 做网站如何月入10万建行app怎么注册登录
  • 建设一个旅游网站毕业设计建设网站的功能定位是什么原因
  • wordpress网站导航模板杭州建设网站的公司
  • 如何做视频解析网站wordpress 关闭评论
  • 安福网站建设微信开发者工具怎么下载
  • 网罗设计网站威海网页设计制作公司
  • 网站用cmswordpress插件怎么做
  • 如何办好公司网站元器件网站搭建
  • 建设领域行政处罚查询网站wordpress数据库发文章
  • 怎么做网页的多开器宿迁seo优化
  • 别人帮做的网站怎么修改病句店铺引流的30种方法
  • 网站备案幕布怎么申请绍兴cms建站模板
  • 做网站熊掌号软件设计公司排名
  • 深圳 做网站学做西点的网站
  • 静态网站安全性百度服务平台
  • 网站vi设计公司网站建设app
  • 书店网站建设策划书总结每天看七个广告赚40元的app
  • 做网站的属于什么专业成都广告制作安装公司
  • 天津市网站建设公司网站制作费用
  • 网站制作公司 郑州wordpress图片中文不显示解决
  • 网站建设模式有哪些方面jquery做的装修网站