首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android测试-升级到API 28后复制类

升级到API 28后复制类的Android测试问题主要是指在Android开发中,当将应用程序升级到Android 9.0(API 28)及以上版本时,复制类的功能出现问题。下面是对这个问题的解答:

问题概述: 升级到Android 9.0(API 28)及以上版本后,复制类功能出现问题。

问题分类: 这个问题可以归类为Android应用程序开发中的兼容性问题和API变更问题。

问题原因: 在Android 9.0(API 28)及以上版本中,Google对应用程序的权限进行了更严格的控制。其中一个变化是剪贴板访问权限的限制。在之前的版本中,应用程序可以通过剪贴板访问权限复制文本或其他数据,但在Android 9.0及以上版本中,剪贴板访问权限的范围被限制。

解决方案: 为了解决升级到API 28后复制类的问题,可以采取以下解决方案:

  1. 权限申请:首先,确保在AndroidManifest.xml文件中添加相应的权限申请。对于剪贴板访问权限,需要添加"android.permission.READ_CLIPBOARD_IN_BACKGROUND"权限。
  2. 适配API变更:在API 28及以上版本中,剪贴板的访问权限需要与系统剪贴板内容之间存在交互才能获得。因此,需要在复制类的代码中进行适配,确保在获取剪贴板内容之前进行权限检查,并在用户授权后再进行复制操作。
  3. 使用新的API:Google在API 28及以上版本中引入了新的剪贴板API,即"android.content.ClipboardManager"。可以使用该API来实现复制类功能,并确保在权限授予后进行操作。

推荐的腾讯云相关产品: 腾讯云提供了多种云计算产品和服务,可用于支持Android应用程序开发和测试。以下是一些相关产品:

  1. 云服务器(ECS):提供可扩展的计算资源,可用于开发、测试和部署Android应用程序。
  2. 云数据库MySQL版(CDB):可用于存储应用程序的数据,并支持与Android应用程序进行数据交互。
  3. 私有网络(VPC):提供安全且可定制的网络环境,可用于构建Android应用程序的网络基础设施。
  4. 人工智能服务(AI):腾讯云提供了多种人工智能服务,如语音识别、图像识别等,可用于在Android应用程序中集成人工智能功能。
  5. 移动推送(信鸽):提供了Android推送服务,可用于向Android设备发送推送通知。

以上是对Android测试-升级到API 28后复制类问题的完善和全面的答案,涵盖了问题的概述、分类、原因、解决方案以及推荐的腾讯云相关产品。希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android Gradle 插件】TestOptions 配置 ④ ( org.gradle.api.tasks.testing.Test 单元测试配置 | Android 单元测试示例 )

文章目录 一、org.gradle.api.tasks.testing.Test 单元测试配置 1、Test 单元测试配置回顾 2、启动单元测试 3、设置 JVM 系统属性 4、打开命令行标准输出...二、单元测试示例 单元测试 gradle 配置 1、右键运行单元测试 3、执行单元测试 Gradle 任务 4、查看单元测试命令行输出 5、查看单元测试报告 Android Plugin DSL Reference...org.gradle.api.tasks.testing.Test 单元测试配置 : https://docs.gradle.org/current/javadoc/org/gradle/api.../tasks/testing/Test.html 一、org.gradle.api.tasks.testing.Test 单元测试配置 ---- UnitTestOptions ( build.gradle...org.gradle.api.tasks.testing.Test 单元测试配置 : https://docs.gradle.org/current/javadoc/org/gradle/api/tasks

1.3K20

Android 9 适配怎么做? “QQ音乐”优化实录

Android 官方库也会被扫描出非 SDK API 调用,针对这种情况,需要分情况讨论: [2.png] 该 API 调用查看 v7 support 包源码可以发现已经被 try-catch 住了,测试了相关也可以正常运行...四、Apache HTTP client 相关找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关,就会抛出找不到这些的错误...五、其余适配 4.1 前台 Service 在 Android P 中,如果 targeSdkVersion 升级到 28,使用前台 Service 必须要申请 FOREGROUND_SERVICE 权限...4.3 com.android.internal 包下某些找不到 升级到 28 之后,应用编译抛出 com.android.internal 包下面有些找不到的异常,经过查找发现这些已经从 SDK...针对这种情况目前有两种处理办法: 移除该类的调用逻辑; 在应用中新建一个同名,将被移除的所有代码逻辑复制到新建中(必要时可能需要将被移除相关类同时拷贝一份到应用中),然后将应用中所有相关 import

2.4K20
  • Android 9 适配怎么做? “QQ音乐”优化实录

    Android 官方库也会被扫描出非 SDK API 调用,针对这种情况,需要分情况讨论: 该 API 调用查看 v7 support 包源码可以发现已经被 try-catch 住了,测试了相关也可以正常运行...四、Apache HTTP client 相关找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关,就会抛出找不到这些的错误...五、其余适配 4.1 前台 Service 在 Android P 中,如果 targeSdkVersion 升级到 28,使用前台 Service 必须要申请 FOREGROUND_SERVICE 权限...4.3 com.android.internal 包下某些找不到 升级到 28 之后,应用编译抛出 com.android.internal 包下面有些找不到的异常,经过查找发现这些已经从 SDK...针对这种情况目前有两种处理办法: 移除该类的调用逻辑; 在应用中新建一个同名,将被移除的所有代码逻辑复制到新建中(必要时可能需要将被移除相关类同时拷贝一份到应用中),然后将应用中所有相关 import

    73630

    QQ 音乐 Android 吃 Pie 之路

    API 调用查看 v7 support 包源码可以发现已经被 try-catch 住了,测试了相关也可以正常运行,而且在适配过程中升级 rc 版本的 support-v7 包会导致应用编译不过,所以目前...四、Apache HTTP client 相关找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关,就会抛出找不到这些的错误...五、其余适配 4.1 前台 Service 在 Android P 中,如果 targeSdkVersion 升级到 28,使用前台 Service 必须要申请 FOREGROUND_SERVICE 权限...4.3 com.android.internal 包下某些找不到 升级到 28 之后,应用编译抛出 com.android.internal 包下面有些找不到的异常,经过查找发现这些已经从 SDK...针对这种情况目前有两种处理办法: 移除该类的调用逻辑; 在应用中新建一个同名,将被移除的所有代码逻辑复制到新建中(必要时可能需要将被移除相关类同时拷贝一份到应用中),然后将应用中所有相关 import

    3.6K120

    Android Support 和 AndroidX

    :xx.xx → Android 2.1,增加了很多Material Design的兼容和素材,包含v4的全部内容,用得最多; support-v13 → Android 3.2,为平板开发推出的版本兼容包...0x2、AndroidX Library的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...中修改distributionUrl指向版本号; compileSdkVersion → 升级到28及以上; buildToolsVersion → 升级到28.0.2及以上; ② 迁移AndroidX...④ 依赖重新打包 参照AndroidX变化中的映射改,可直接查 官方文档 或下载映射的 CSV文件,修改示例如下: import android.support.v7.app.AlertDialog...② 执行完Migrate to AndroidX就完成AndroidX迁移了?

    2.4K10

    Android Support vs AndroidX

    com.android.support:appcompat-v7:xx.xx→ Android 2.1,增加了很多Material Design的兼容和素材,包含v4的全部内容,用得最多。...AndroidX Library 的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...,意味着后续android.*包下的API都是随系统发布的,而androidx.包下的API都是随着扩展库发布的,API基本不依赖于操作系统的具体版本。...如果迁移失败,就重复下面的①②③④步进行手动迁移吧~ ① 版本要求 Android Studio → 升级到3.2及以上; Gradle插件 → 升级到4.6及以上,可在gradle/wrapper/gradle-wrapper.propertie...中修改distributionUrl指向版本号; compileSdkVersion → 升级到28及以上; buildToolsVersion → 升级到28.0.2及以上; ② 迁移AndroidX

    1.1K20

    AndroidP升级之路

    从2019年下半年,所有安卓外部应用市场强制要求应用升级到TargetVersion 28。斗破苍穹的升级过程需要分以下两步来做。...一、升级到Target23,兼容Android6.0 问题:敏感权限需要动态申请,不会安装时自动授权。...目前,API-> 敏感权限可以查看google的Android开发文档。但是敏感权限->API,这个目前没有官方文档可以查。...1、 确认各个组件的SDK编译版本 2、 与组件方确认是否需要升级 3、 逐个升级与测试 AndroidP升级过程总结 从2019年下半年,所有安卓外部应用市场强制要求应用升级到TargetVersion...目前,API-> 敏感权限可以查看google的Android开发文档。但是敏感权限->API,这个目前没有官方文档可以查。

    1.2K31

    提示 Plaid 应用迁移到 AndroidX 的实践经历

    在 2018 Google I/O 大会上,Android 团队发布了 AndroidX。它是 Android 团队用于开发、测试、打包、定版以及在 Jetpack 中发布库时所用到的开源代码。...这对 Support 库而言尤其是一个好主意,因为升级到 28.0.0(截至撰写本文的最终版本)将使迁移更加顺畅。...同样的,自动转化可能使得某些需要使用它们的完整路径。做最少的手工修正是一个好的思路。作为清理工作的一部分,我们移除了完整路径,并在必要时重新添加了相关引用。...最后,一些少量测试相关的修改被加入工程,围绕着测试过程中的依赖冲突(参考这次提交)和 Room 的测试用例(参考这次提交)。这时我们的工程完成全部转化,并且我们的测试都已通过。...遇到的问题主要涉及依赖库或的错误转换,以及新库中的 API 变化。 幸运的是这些都相对容易解决。Plaid 现在已经准备好再被用起来了!

    99610

    Plaid 应用迁移到 AndroidX 的实践经历

    在 2018 Google I/O 大会上,Android 团队发布了 AndroidX。它是 Android 团队用于开发、测试、打包、定版以及在 Jetpack 中发布库时所用到的开源代码。...这对 Support 库而言尤其是一个好主意,因为升级到 28.0.0(截至撰写本文的最终版本)将使迁移更加顺畅。...同样的,自动转化可能使得某些需要使用它们的完整路径。做最少的手工修正是一个好的思路。作为清理工作的一部分,我们移除了完整路径,并在必要时重新添加了相关引用。...最后,一些少量测试相关的修改被加入工程,围绕着测试过程中的依赖冲突(参考这次提交)和 Room 的测试用例(参考这次提交)。这时我们的工程完成全部转化,并且我们的测试都已通过。...遇到的问题主要涉及依赖库或的错误转换,以及新库中的 API 变化。 幸运的是这些都相对容易解决。Plaid 现在已经准备好再被用起来了!

    1K50

    《吐血整理》高级系列教程-吃透Fiddler抓包教程(26)-Fiddler如何抓取Android7.0以上的Https包-上篇

    果然,在Android 6.0 (API level 23)及以前,APP默认信任系统自带的CA证书以及用于导入的CA证书,Android 6.0 (API level 23)以后,APP默认只信任系统自带的...3.准备一个 targetSdkVersion < 24 的 APP 安装包 Google Play Store要求今年 8 月之后上线、11 月之后更新的 App 必须升级到 Target API 28...没有办法老大说话了,国内各大应用市场手机APP纷纷响应号召在2019 年统一要求 APP API 版本必须大于 28,这种安装包很难找到了,而且互联网产品迭代这么快,不一定能保证安装包可用。...但是,因为测试的是企业微信小程序,想让企业微信的开发人员帮我这么干,简直是白日做梦,更不用说安全等问题… 6.webview抓包失败 上面可以解决android原生抓包问题,但在android7.0以上的手机...注释是为了忽略掉父的处理,默认执行下去。 6.1警告 这样的配置操作是敏感且危险的,只能用于测试环境方便抓包,线上包一定注意要恢复配置。

    4.1K30

    Android 10(Q)11(R) 分区存储适配

    新增执行批量操作 为实现各种设备之间的一致性并增加用户便利性,Android 11 向 MediaStore API 中添加了多种方法。...MediaStore API 新增的方法 ? 系统在调用以上任何一个方法,会构建一个 PendingIntent 对象。...使用直接文件路径和原生库访问文件 为了帮助您的应用更顺畅地使用第三方媒体库,Android 11 允许您使用除 MediaStore API 之外的 API 访问共享存储空间中的媒体文件。...意思就是在新系统新安装的应用才会启用,覆盖安装会保持传统分区模式,例如: 系统通过 OTA 升级到 Android 10/11 应用通过更新升级到 targetSdkVersion >= 29 补充 Q...这类接口以前就设计好了,我也觉得也不算特别友好;最后测试也需要重新进行。

    2.3K30

    优雅地修改 TabLayout 指示线 Indicator 的宽度

    这样做是没问题的,但如果把项目的 SDK 升级到 28 或以上,它就不再有效了,原因是 TabLayout 源码中的变量名修改了,所以代码也要改成这样: public void setIndicatorWidth...="@android:color/transparent" /> 复制代码 在代码中,当 Tab 添加完毕,替换成自定义的 Tab: TabLayout.Tab tab = tabLayout.getTabAt...SDK 28+ 属性配置 如果你使用的 SDK 版本是 28 或以上,并且需要将 Indicator 的宽度修改成和文字宽度一样,那么太棒了,现在你只需要给 TabLayout 配置一个属性就好了: <..." android:layout_height="wrap_content" app:tabIndicatorFullWidth="false" /> 复制代码 当 tabIndicatorFullWidth... 复制代码 然后在布局文件中配置

    7.3K60

    Apply Changes 在 Android 11 中的增强特性

    Android 11 上,ART (Android 运行时) 扩展了 JVMTI API,引入了一个名为 Structural Class Redefinition (的结构性重定义) 的新功能。...对于的结构性重定义而言,将具有新增方法的发送到 ART,这与之前的 Android 版本没有什么不同。...如今新增了一个入口 API,为此您需要将 Android Studio 升级到 4.1 或更高版本,以利用动态在运行中添加新方法的优势,包括静态方法和虚方法。...long x = System.currentTimeMillis(); public final static long y = System.currentTimeMillis(); } 复制代码...这种轻量级的检查 API 能够在 DEX 比较过程中计算出一些额外的信息,而仅需增加少量开销 (仅检查发生修改的 Java )。

    66730
    领券