首页
学习
活动
专区
圈层
工具
发布

Android 11 应用兼容性适配,看这篇就够了

2 如果功能必须使用到被用户拒绝的权限,应用可以在权限拒绝的回调中弹窗提示用户,说明申请该权限的意图,引导用户跳转到应用权限设置页面,授予该权限。...3 适配指导 1 如果您的应用使用READ_PHONE_STATE权限读取电话号码,但是没有使用上文中所提到的getLine1Number()或getMsisdn()方法,则不受影响。...3 适配指导 在相关业务中使用级别较高的ConnectivityManager API 而不是级别较低的NetworkInterface/getifaddrs() API。...这些非 SDK 接口用于在 Android 平台上执行内部测试。应用可以继续使用灰名单中的测试 API,但任何新的测试 API 都会包含在黑名单中。...使用正式API进行构建和测试。

14K42

Android11 (API30)适配

2 如果功能必须使用到被用户拒绝的权限,应用可以在权限拒绝的回调中弹窗提示用户,说明申请该权限的意图,引导用户跳转到应用权限设置页面,授予该权限。...3 适配指导 1 如果您的应用使用READ_PHONE_STATE权限读取电话号码,但是没有使用上文中所提到的getLine1Number()或getMsisdn()方法,则不受影响。...但是,Google Play上架应用时会检测并限制该权限的使用。同理,在queries中声明“宽泛的intent”也将受到Google Play的检测和限制。...3 适配指导 在相关业务中使用级别较高的ConnectivityManager API 而不是级别较低的NetworkInterface/getifaddrs() API。...这些非 SDK 接口用于在 Android 平台上执行内部测试。应用可以继续使用灰名单中的测试 API,但任何新的测试 API 都会包含在黑名单中。

8.4K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    TensorBoard的最全使用教程:看这篇就够了

    加载扩展后,我们现在可以启动 TensorBoard: %tensorboard --logdir logs 3、将 TensorBoard 与 Google Colab 一起使用 使用 Google...它是如何工作的? 根据 Keras 文档,回调是可以在训练的各个阶段执行操作的对象。当我们想在训练过程中的特定时间节点(例如,在每次epoch/batch之后)自动执行任务时,我们都可以使用回调。...TensorBoard可以使用 Text Summary API 轻松地可视化文本数据。让我们看看它是如何工作的。 使用文本 Hello World 作为一个简单的示例。...pip install tensorboard_plugin_profile 创建一个模型,然后在拟合时使用 TensorBoard 回调。...在使用 TensorFlow 时,使用 Summary API 创建了将数据记录到 logdir 文件夹的对象。在使用 PyTorch 时,官方也提供了类似的API。

    39.8K55

    Google证实下个版本的Android将不使用甲骨文的Java API

    一名 Google 发言人告诉 VentureBeat: 作为一个开源的平台,Android 建立在开源社区的协作之上。...Google 决定“巩固”OpenJDK 方面的努力,且 Android 早已在某些地方用上了它,这意味着该公司会分享它的实现代码。 Initial import of OpenJdk files....Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories....Google 希望开发者们会对这一改动感到欣喜,因为这简化了他们构建应用程序时的代码(这些 Java API 库的通用代码、而不是多个代码库)。   ...Google 此举可能与甲骨文起诉它侵犯 Java API 版权存在关系。但因为两个公司的诉讼尚未和解,Google 拒绝置评。

    1.1K60

    快速构建深度学习图像数据集,微软Bing和Google哪个更好用?

    ▌创建 Cognitive Services 帐户 在本节中,我将会向你演示如何申请一个免费的Bing Image Search API账户。...(请牢记的 API 密钥,在下一节中就会用到它) ▌使用 Python 来构建你的深度学习数据集 在注册完 Bing Image Search API 账户之后,现在我们已经做完了建立深度学习数据集的前期准备...(https://docs.microsoft.com/en-us/azure/cognitive-services/bing-web-search/paging-webpages) 如果对 API 的工作原理或是当提出请求之后如何使用.../bing/v7.0/images/search" 在使用上述代码的时候,读者必须更改 API_KEY 的值。...我们学习了通过使用 API 来自动下载图片,这比使用 Google Image 时需要手动下载每一张图片更为方便。

    1.9K60

    Google Spanner原理:地球上最大的单一数据库

    他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能做到这些,离不开一个用GPS和原子钟实现的时间API。这个API能将数据中心之间的时间同步精确到10ms以内。...F1 和众多互联网公司一样,在早期Google大量使用了Mysql。Mysql是单机的,可以用Master-Slave来容错,分区来扩展。但是需要大量的手工运维工作,有很多的限制。...BigTable在Google得到了广泛的使用,但是他不能提供较为复杂的Schema,还有在跨数据中心环境下的强一致性。...这个TrueTime API能够将不同数据中心的时间偏差缩短在10ms内。这个API可以提供一个精确的时间,同时给出误差范围。Google已经有了一个TrueTime API的实现。...可以用上面的两个SQL来创建表。Spanner的表是层次化的,最顶层的表是directory table。其他的表创建的时候,可以用interleave in parent来什么层次关系。

    12.7K92

    尝鲜TensorFlow 2.0

    前两天,Google在TensorFlow开发者峰会上发布了TensorFlow 2.0 alpha版,TensorFlow官网也全新改版上线。...tensorflow 2.0 alpha,如果想简单一点,可以安装非GPU版本的tensorflow: pip install tensorflow==2.0.0-alpha0 当然要训练深度学习的模型,一定得利用上...Keras 和 eager execution,轻松建立简单的模型并执行 在任何平台上的实现生产环境的模型部署 为研究提供强大的实验工具 通过清除不推荐使用的 API 和减少重复来简化 API 对我来说...我之前一直都是使用keras编写代码,在TensorFlow 2.0中,我可以使用我更加熟悉的keras API。而所谓的eager execution,简单所就是操作(op)能够立即执行。...资深人士版:展示如何命令式地编写正向传递、如何使用 GradientTape 编写自定义训练循环,以及如何使用 tf.function 一行代码自动编译代码。

    57410

    微信小程序网络通信(一)

    支持套接字通信 WebSocket 支持上传文件 uploadFile 支持下载文件 downloadFile 回调 只要成功以后就会有success回调。...即被google证实两份内容不同但是SHA-1会完全相同的碰撞实验 https://zh.wikipedia.org/zh-sg/SHA-1 微信小程序HTTP网络通信 小程序需要使用网络通信,从后台拉取信息...搭建后台服务器 后台服务器使用node.js 外加nginx进行转发,在node.js上为了方便起见,直接不配置https证书,在nginx上配置https证书,为了防止出现意外,所有的node.js暴露出的端口都在内网...安装npm包 按照规范,是应该使用docker进行的,然后git上传,在服务器端用git直接拉下来。...WARN saveError ENOENT: no such file or directory, open '/www/wwwroot/api.iming.info/package.json' npm

    1.8K10

    JavaScript 中回调、Promise 和 AsyncAwait 的代码案例

    本文将通过代码示例展示如何使用基于回调的 API,然后将其改成使用 Promises,最后再用 Async/Await 语法。本文不会详细解释回调、promise 和 Async/Await 语法。...有关这些概念的详细解释,请查看 MDN 的 Asynchronous JavaScript[1],它解释了什么是异步性以及如何用回调、promise 和 Async/Await 语法处理异步 JavaScript...出于演示目的,我们将使用 fs.readFile[2],这是一个基于回调的用于读取文件的 API。...代码将首先用回调实现,然后将其修改为使用 Promise,最后改为使用 Async/Await,而不是直接使用 Promise。 废话少说,开始!...使用回调 首先创建一个目录,里面包含我们的代码文件和要进行读取操作的文件。

    1.8K20

    iOS使用VOIP与CallKit实现体验优质的网络通讯功能

    iOS使用VOIP与CallKit实现体验优质的网络通讯功能     VOIP是Apple提供给开发者的网络电话功能接口。简单来说,其可以让你的应用程序在完全杀死的情况下被服务端唤醒。...一、创建VOIP推送证书     VOIP说是一种网络电话服务,其实质是一种特殊的长连接,使用它每个网络电话类APP不需要自己单独进行保活维护,在进行通话请求时,只需要发送一条VOIP推送,VOIP推送会将应用程序拉起...UUID update:(CXCallUpdate *)update completion:(void (^)(NSError *_Nullable error))completion; //结束某个通话 使用上面的...5.CXCallController解析     当用户在应用程序内部进行的通讯操作时,可以使用这个类来通知系统。...当用户打开此服务或者调用上面的reloadExtension时,会从执行扩展程序的相关方法来重新加载号码库。

    4.1K20

    Android So动态加载 优雅实现与原理分析

    基于以上的常见的方式,我们一般使用java提供的用于加载So文件的API System.loadLibrary(String libName):参数为so库名称,位于 apk 压缩文件中的 libs 目录...,最后复制到 apk 安装目录下; System.load(String pathName) :参数为 so 库在磁盘中完整的路径,可以加载自定义外部 so 库文件; 使用第三方库ReLinker,有so...加载成功、失败的回调,安全加载不崩溃。...(relinker也是对上面两种api的封装,但更推荐大家使用这种加载方式) 看到上述API其实大家可以看出来System.load(String pathName)这个api其实已经可以实现So的动态加载...在应用启动的时,一次注入本地so路径path,待程序使用过程中so准备后安全加载。(原因后面分析,我们先看下实践) 一. 下载So文件到sdk卡 二. copy So文件到app缓存空间 三.

    2.1K20

    -Dart中的异步与文件操作全面解析

    当这个future使用一个值完成时,将该值在[onValue]中回调。 如果这个future已经完成,那么回调将不会立即调用,而是将在稍后的微任务中调度。...另外可以看到一个可选参数onError,当执行错误时会进行错误回调 ---- 2.2:使用Future异步读取文件 既然知道then中可以传递一个回调来获取文件内容,那就简单了 看下图的结果,可以感受到读取文件是异步的...,onDone不会回调,即使你已经拿到了最后一条鱼 下面就说明你在拿到B后,你就取消订阅,走人 var fishes = ["A", "B", "C"]; var stream = Stream.fromIterable...它可以回调多个未来的对象的序列 ,你可以测试一下,它也是异步的 这里回调出的是一个List,也就是对应的字节在码表中的数值集合。...openRead.txt'; file.openRead().listen((li) => li.forEach((e) => print(String.fromCharCode(e)))); 另外的一些方法,使用上都大同小异

    3.3K30

    利用tess-two和cv4j实现简单的ocr功能、

    Tesseract Tesseract是Ray Smith于1985到1995年间在惠普布里斯托实验室开发的一个OCR引擎,曾经在1995 UNLV精确度测试中名列前茅。但1996年后基本停止了开发。...现阶段的Tesseract由Google负责维护,是最好的开源OCR Engine之一,并且支持中文。 tess-two是Tesseract在Android平台上的移植。...识别代码 接下来,尝试用上面的程序识别一段代码。 ? 识别代码.JPG 此时,效果一塌糊涂。我们重构一下startOCR(),增加局部的二值化处理。...识别中文 如果要识别中文字体,需要使用中文的数据包。可以去下面的网站上下载。...识别中文.JPG 最后 本项目只是demo级别的演示,离生产环境的使用还差的很远。

    1.6K10

    【Android开发丨主题周】盘点Android开发第三方组件与服务层

    在搜索结果列表中,我们单击第一条结果进入详情界面,可以看到Facebook这个应用在Google Play上的基本信息,如安装量、评分等,还可以看到它在Google Play上排名的历史记录、应用使用的权限及第三方库...当一个事件在应用内传递,如果使用接口回调实现时需要多次回调,路线较远,代码烦琐,如果使用BroadcastReciever又觉得大材小用。...这时就可以考虑使用EventBus了,它能够从事件发送的地方直接传递到事件接收的地方。当然,如果能够使用一次接口回调解决的问题,还是推荐使用接口回调。...使用OkHttp非常简便,它的请求和响应的API大都采用建造者模式设计。 6 Retrofit Retrofit是一个类型安全的HTTP的客户端,在Android和Java中都可使用。...Retrofit通过注解实现RESTful网络接口,底层使用OkHttp完成网络请求的实现。另外,Retrofit封装了主线程和子线程的切换以及网络数据的解析,在使用上要比OkHttp便利不少。

    1.2K20

    使用 Jetpack ActivityResult 处理 Activity 之间的数据通信

    ActivityResult API https://developer.android.google.cn/reference/kotlin/androidx/activity/result/package-summary...basics/intents/result#custom ActivityResult API 提供了一些组件用于注册 Activity 的处理结果、发起请求以及在系统返回结果后立即进行相应处理。...您也可以在启动 Activity 的地方使用一个独立的类接收返回结果,这样依然能够保证类型安全。 如何使用 接下来我们通过一个打开文档的示例,来演示如何使用 ActivityResult API。...-> // 处理返回的 Uri } 回调 https://developer.android.google.cn/reference/kotlin/androidx/activity/result...现在就使用最新稳定版的 Activity 和 Fragment 库,通过 ActivityResult API 以类型安全的方式处理您的 Intent 结果吧!

    1K30

    APP因合规问题无法上架

    建议使用排除法删除插件重新打包检测 检查是否集成了fcm推送(包含unipush中的fcm)、google统计、google推送、google登录模块。...查看是否使用uni原生插件。可能是原生插件携带的权限。建议使用排除法删除插件在检测。...拿到java调用堆栈在ask论坛 发帖咨询 # 15、未经许可读取个人信息 获取ANDROID ID 检查是否集成了fcm推送(包含unipush中的fcm)、google统计、google推送、google...拿到java调用堆栈在ask论坛 发帖咨询 # 16、离线打包自定义DCloudApplication,初始化其他三方SDK如何处理合规问题 我们推荐将三方SDK集成方式改为原生插件集成到离线打包中。...可以在Application的onCreate回调中添加初始化逻辑。但前提是需要在super.onCreate()之后调用。

    3.6K20
    领券