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

Android8.0适配前台定位服务service的示例代码

Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明。...按照官方指引,如果要提高位置更新频率,需要后台应用提供一个前台服务通知告知。 所以原来的单单使用locationManager获得当前位置在后台情况下无法使用了。...于是打算使用一个前台服务,当app在后台时也能获得当前位置。...查了几篇博客说前台服务需要在service的onStartCommand方法中调用startForeground(int, Notification)才能开启前台服务。...适配8.0的通知构建需要适配,不然会导致你的通知无法显示(第一次调用的时候还以为是一加拦截了通知) 3、那么这时候应该已经实现了前台服务,需要把服务获得的位置信息传递给activity。

1.2K20

Android应用程序的崩溃信息如何保存到本地文件,并上传至服务

我们在做应用开发的时候,需要程序的崩溃信息,来进行bug的修复和版本的更新,每一个应用程序都会有bug,所以都需要在后台纪录这些bug日志,然后上传到服务器,让程序员看,并进行修复。...第一步:先了解一下两个类Application和UncaughtExceptionHandler Application:用来管理应用程序的全局状态。...<application android:name=".MainApplication" android:icon="@drawable/ic_launcher" android... 讲到这里就介绍完了,如果你把这些代码插入进去了,等你程序再崩溃的时候,就会给你自动记录了,当然上面讲的这些只是给你记录到本地,并存放成文件了,如果想上传到服务器,还请同学们自己动手...上传文件到服务器我想同学们应该都会吧!

1.9K90
您找到你想要的搜索结果了吗?
是的
没有找到

谷歌大开“吃”戒的产物,Andriod O全球发布

后台限制: Android O在以下三大方面对哪些应用可以在后台运行进行了额外的自动限制:隐式广播、后台服务和位置更新。 多个 Android 应用服务可以同时运行。...后台服务限制:处于空闲状态时,应用可以使用的后台服务存在限制。 这些限制不适用于前台服务,因为前台服务更容易引起用户注意。 广播限制:除了有限的例外情况,应用无法使用清单注册隐式广播。...3、面向专业音频的 AAudio API: AAudio 是一个全新的原生 API,专门为需要高性能、低延迟音频的应用而设计。使用 AAudio 的应用通过卡片信息流读取和写入数据。...在 Android O 中,我们默认启用多进程模式,并添加一个 API,以便让您的应用可以处理错误和崩溃,从而增强安全性和提升应用稳定性。...②如果服务容易被用户注意,请将其设为前台服务。 例如,播放音频的服务始终应为前台服务

89120

拖不得了,Android11真的来了,最全适配实践指南奉上

原生库,例如 fopen()。 那Android10咋办呢??...前台服务类型 “从 Android 9 开始,应用仅限于在前台访问摄像头和麦克风。为了进一步保护用户,Android 11 更改了前台服务访问摄像头和麦克风相关数据的方式。...如果您的应用Android 11 为目标平台并且在某项前台服务中访问这些类型的数据,您需要在该前台服务的声明的 foregroundServiceType 属性中添加新的 camera 和 microphone...” 举例,如果应用某项前台服务需要访问位置信息、摄像头和麦克风,那么就这样添加: <service ......如果您在原生代码崩溃报告中发现与 Scudo 相关的崩溃(例如 Scudo ERROR:),请参阅 Scudo 问题排查文档。

6.7K340266

01.Android崩溃Crash封装库

可以方便测试和产品给开发提出那种偶发性bug的定位日志,免得对于偶发行崩溃,开发总是不承认……开发总是不承认…… 03.该库如何使用 如何引入该库implementation 'cn.yc:ToolLib...这个是调用原生的分享 CrashLibUtils.shareFile(CrashDetailsActivity.this, destFile); //截图崩溃然后保存到相册。...某些机型还是不兼容…… App崩溃收集信息说明 收集崩溃时的基本信息 进程(前台进程还是后台进程) 线程(是否是 UI 线程) 崩溃堆栈(具体崩溃在系统的代码,还是我们自己的代码里面) 崩溃堆栈类型(Java...(得出应用本身内存的占用大小和分布) 线程数 收集崩溃时的应用信息 崩溃场景(崩溃发生在哪个 Activity 或 Fragment,发生在哪个业务中) 关键操作路径(记录关键的用户操作路径,这对我们复现崩溃会有比较大的帮助...,即可定位到RuntimeInit类。

97030

H5小游戏的坑点小结

onTouchBegan方法中调用cc.audioEngine.playEffect就正常了 2) iOS中如果启用的是自动渲染模式,在支持webgl中如果启用了webgl,如果关闭电源键后等大概3秒后再进入系统然后导致应用崩溃...(原生的safari好像不会,应用切到后右时间长一些再切到前台也可能会崩溃),微信和自己写的应用都会有这个问题,所以只能改成canvas模式进行渲染,默认使用30帧即可。...但是有一些动画需要连贯和频繁的就需要改成60帧,但要注意canvas在低端的Android机那简直就不忍直视。...崩溃的原因:应用切入到后台后,webview里面的小游戏还在调用渲染,底层会调用到opengl的相关函数,这就导致应用直接崩溃了。

87610

Android性能优化(一)

视觉优化 应用程序启动有三种状态,每种状态都会影响应用程序对用户可见所需的时间:冷启动,热启动和温启动。 在冷启动时,应用程序从头开始。在其他状态下,系统需要将正在运行的应用程序从后台运行到前台。...即使应用中不使用 C++,也可能会看到此处使用的一些原生内存,因为 Android 框架使用原生内存代表处理各种任务,如处理图像资源和其他图形时,即使编写的代码采用 Java 或 Kotlin 语言。...根据应用的前后台状态,我们可以把异常退出分为前台异常退出和后台异常退出。...崩溃信息 从崩溃的基本信息,我们可以对崩溃有初步的判断。进程名、线程名。崩溃的进程是前台进程还是后台进程,崩溃是不是发生在 UI 线程。 崩溃堆栈和类型。...系统崩溃 系统崩溃常常令我们感到非常无助,它可能是某个 Android 版本的 Bug,也可能是某个厂商修改 ROM 导致。这种情况下的崩溃堆栈可能完全没有我们自己的代码,很难直接定位问题。

2.5K20

Android卡顿优化 | ANR分析与实战(附ANR-WatchDog源码分析及实战、与AndroidPerformanceMonitor的区别)

本文要点 ANR概述 发生ANR后Android系统的执行流程 ANR-WatchDog原理与实战 ANR的传统解决套路 ANR模拟实战 线上ANR监控方案【ANR-WatchDog原理分析】 ANR-WatchDog...10s,后台60s BroadReceiver 在特定的时间(一般前台10s,后台60s)之内没有响应完成; ServiceTimeout,前台20s,后台200s Service 在特定的时间(一般前台...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 刚刚的_anrListener.onAppNotResponding(error);只是一个应用层上的调用; onAppNotResponding...还是上面那个项目,手动阻塞60s, 运行程序, 程序会5s后崩溃【5s是默认周期时间,崩溃操作见上面源码分析】 在logcat定位关键字fatal,可以看到ANRError打印的信息, 信息中包括了崩溃现场所有线程的堆栈信息...优化: 当然默认的APP崩溃处理法并不妥当, 影响用户体验, 实际开发中, 我们可以自己定义ANRListener,自定义处理方式【上面说过了】, 把堆栈信息上报给服务器就是了!!!!

4.8K42

线上疑难定位:trying to use a recycled bitmap

android.graphics.BaseRecordingCanvas$drawBitmap frameworks/base/graphics/java/android/graphics/BaseCanvas...,标记最新可见的activity,当发生崩溃时候,把当前可见的activity一起上报,可以通过后台查看,崩溃那一刻,在前台的是哪个activity 可以连续查看几条,看下是否都是同个activity...,我这边验证,崩溃的信息,都是固定的一个activity,于是可以基本确定,崩溃是发生在这个activity 2、定位错误的view 定位到activity,范围还是太大,我们接下来进一步缩小,定位到具体的...如果上面的两个步骤,还是无法定位修复问题,可以继续看 比如发现有多个imageview都满足条件,如何进一步定位到具体崩溃的是哪个imageview 可以用如下的方式,替换下所有怀疑的imageview...imageview 最终发现,出现问题的是因为外部应用了Glide加载的bitmap 接下来,就是分析,为什么会出现这个崩溃,由于涉及到Glide缓存模型,放下个章节继续说明,待续...

1.1K20

AndroidR兼容性适配指南

Android 11 或更高版本为目标平台且与设备上的其他已安装应用交互的应用 将 元素添加到应用的清单详细了解软件包可见性 ✅ 前台服务Android 11 更改了前台服务访问位置信息...、摄像头和麦克风相关数据的方式 在 Android 11 或更高版本上运行且在前台服务中访问位置信息、摄像头或麦克风的应用 分别针对需要访问摄像头和麦克风的前台服务,声明 camera 和 microphone...如果您在 activity 可见时启动了一项前台服务,并且用户随后将您的应用转到后台,那么您的应用可以继续访问相关数据,直到该前台服务停止。...前台服务类型 camera 和 microphone 如果您的应用Android 11 或更高版本为目标平台,且在前台服务中访问摄像头或麦克风,则必须添加前台服务类型 camera 和 microphone...上一篇文章讲述适配Android10的时候,对于前台定位服务就必须加上android:foregroundServiceType="location"。

2K20

如何绕过 Android 8.0 startService 限制

Android 8.0 及更高版本「不允许后台应用运行后台服务」,需要通过 startForegroundService() 指定为前台服务运行,或者使用 JobScheduler 替代。...顺着这句话推导一下: 后台应用无法启动后台服务 -> 前台应用可以启动后台服务 -> A 为前台应用,则 A 就能启动后台服务 基于这个结论,再结合后台服务的种类,对以下三种场景实践验证,结果如下:...设备上通过 startService 启动一个属于后台应用的后台服务,会直接崩溃: Caused by: java.lang.IllegalStateException: Not allowed to...别忘了标题,最终想要实现的是绕过 Android 8.0 startService 的限制,即不修改为前台服务,调用 startService 方法,仍旧可以启动属于后台应用的后台服务,怎么实现呢?...通过上面的方案 6 :「启动服务前,先将服务所在应用从后台切换到前台」 便可实现,如何将应用从后台切换到前台呢?

2.1K10

Android中实现用户无感知处理后台崩溃

App到了用户的手里,肯定是崩溃越少越好。Android中的崩溃处理和iOS不太一样,iOS崩溃通常是闪退,而安卓会出现如下的蹩脚的对话框 ?...在安卓中,我们应用会有所谓的前台和后台的概念,在本文这里这样定义,当前应用有Activity展示(即用户明显感知在当前应用),约定为前台,否则为后台。...如果在前台时,发生崩溃用户是明显能感知的,但倘若发生在后台,我们可以做一些简单的小操作,让用户感知不到崩溃的发生(即不弹出崩溃的对话框)。 原理其实蛮简单的。...Activity onStop时activityCount自减 当activityCount为0,我们则认为应用处于后台状态 具体实现如下 object ActivityLifecycleCallbackImp...关于崩溃的文章,我还有一篇相关的,请移步这里Android处理崩溃的一些实践查看。

1.3K10

Android 11 开发者常见问题 | FAQ・第一期

相关文档 developer.android.google.cn/training/pe… 03 Q: 对于单独进程 (单独开了个服务,指定进程名,为后台进程),Android 11 对定位是否有影响?...如果进程是后台进程,应用需要有后台定位权限才可获取位置信息。...针对一些特殊情况会有针对处理,比如应用在后台但开启前台服务,通过一个持续性的通知让用户感知其在后台运行,在这种情况下我们会认为该应用前台应用,那么应用前台定位权限就可获取位置信息。...如果您要启动新的服务或启动过其他的应用,如果您的应用不可以看到其他的应用,是无法启动其他应用的组件。...一般来说,当应用崩溃之后,用户会尝试再次打开应用,所以可以在下一次打开的时候将崩溃退出信息汇报至后台,开发者可以去查看分析具体是什么原因导致的。

2.1K40

API level targeting to 28,准备好了吗?

应用内置的己方的sdk 例如地图项目:mapsdk、定位sdk、mapmatch、pushsdk、导航引擎sdk、数据引擎sdk、搜索引擎sdk (4)....前台服务权限】 说明 在Android 9.0 中,应用在使用前台服务之前必须先申请FOREGROUND_SERVICE权限,否则就会抛出Security Exception 异常。...如果您的应用有多个使用Web View,CookieManager或android.webkit包中的其他API的进程,则当第二个进程调用WebView方法时,您的应用崩溃。 【6....如果您的应用需要在运行Android 9 的设备上检测传感器事件,请使用前台服务。...6.6 电话信息现在依赖设备位置设置 如果用户在运行Android 9 的设备上停用设备定位,则以下函数不提供结果: getAllCellInfo() listen() getCellLocation(

1.3K20

Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?

核心功能变更 1.1 前台服务类型 在 targetSdkVersion >= 34 的情况下,必须为应用内的每个前台服务(Foreground Service)指定至少一种前台服务类型。...前台服务(Foreground Service)是一种特殊类型的服务,用于执行与用户当前活动相关的长时间运行的任务,这些服务会在系统状态栏中显示通知,以告知用户应用正在前台执行任务,并且正在使用系统资源...前台服务类型是在 Android10 引入的,通过 android:foregroundServiceType 可以指定 的服务类型,可供选择的前台服务类型有: camera:需要在后台时继续访问摄像头...:预留给系统应用程序和特定的系统集成,以继续使用前台服务。...小结:如果目前应用中已用到了前台服务,且 targetSdkVersion 想升到 34,那么就得添加这个前台服务的类型;否则不用管。

7.3K30

解锁 2022 Google 游戏开发者峰会 | 打造高质量的游戏体验

在今年的 Google 游戏开发者峰会上,我们为开发者带来了各种工具和服务的更新和最新动态,这些工具和服务都旨在帮助您打造高质量的游戏体验,助力您的游戏业务稳步发展。...,我们还与各种游戏开发引擎 (包括自主开发的原生 C/C++ 引擎) 合作来助力达到这个目标。.../地区一级,以便更好地按国家/地区来设计用户体验,同时还可以了解应该重点从哪些国家/地区着手,解决各种设备上的崩溃率和 ANR (应用无响应) 问题。...我们对 Crashlytics 进行了改进,使得游戏调试变得更加容易,帮助您对 C++ 代码的崩溃信息了解更全面,此外,这次的更新也加入了更多样的原生平台崩溃类型的报告,并可以进行更深入的堆栈跟踪,助力您快速调试和修复问题...最后,这些原生崩溃信息的增强功能已经加入到了 Firebase Unity SDK,将 C++ 代码崩溃信息定位回您的 C# 代码,以便您更轻松地排查问题。

5.8K30

笔记(24)安卓各版本特性简述

query) 4.前台服务类型(在前台服务要使用摄像头和麦克风需要再service中添加对应的camera和microphone) 5.权限自动重置(长时间未使用,则重置权限)。...可变性(需要指定FLAG) 3.前台服务启动限制 4.精确的闹钟权限 5.通知trampoline限制 6.大致位置(区分精确位置和大致位置) 粗略位置: 精确到2平方公里的位置值,请求 ACCESS_COARSE_LOCATION...官方给出的解释是为了提升用户体验、降低应用崩溃风险。...9.前台服务管理器(通知栏新增前台服务管理器) image.png 所有应用.png 以 Android 13 或更高版本为目标平台的应用.png 相关: https:...14.0 新特性—2023年(Beta 版) 默认拒绝设定精确的闹钟 最低可安装的目标 API 级别23,targetSdkVersion lower than 23 无障碍非线性字体放大至 200% 前台服务类型是必填项

41210

Android 9.0适配及部分新特性介绍

1、Android 9.0应用迁移 1.1 概述 在最开始针对速贷进行Android9.0版本的适配时,我使用的是真机是vivo X21A,将targetSdkVersion升到28,运行发现网络请求全报...1.2 Android9的迁移和适配 在模拟器上的适配我这边做的不多,官网有比较详细的介绍: 将应用迁移到 Android 9 1.2.1 针对Android 9设备上运行的所有应用都有影响的关键变化有...* 前台服务:针对 Android 9 或更高版本并使用前台服务应用必须请求 FOREGROUND_SERVICE 权限。 这是普通权限,因此,系统会自动为请求权限的应用授予此权限。...按进程分设基于网络的数据目录:为改善 Android 9 中的应用稳定性和数据完整性,应用无法再让多个进程共用同一 WebView 数据目录。...2、环境切换功能,点击测试入口时,页面会崩溃 3、需支持支付宝h5支付 4、偶现人脸识别不成功,反复进入活体认证页面 针对问题一和二:我测试了下Android9.0的模拟器以及google pixel

3.3K40
领券