栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Andorid Studio无法启动外部Service的解决办法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Andorid Studio无法启动外部Service的解决办法

在初学Service时,发现使用外部Service,可以关闭另一个app已启动的Service,但却无法直接启动。一番学习之后,发现在Android 8.0(API 级别 26)对应用在后台运行时可以执行的操作施加了限制。

“每当应用在后台运行时,它都会消耗设备的一些有限资源,如 RAM。这可能会导致用户体验受损,尤其是在用户使用资源密集型应用(如玩游戏或观看视频)的情况下。”

———后台执行限制|安卓开发人员 (google.cn)

这也就导致了无法直接在后台startService()。

解决方法 1. 在外部app的AndroidManifest.xml中插入语句

在启动外部Service的app中注册以下信息:


        

在引号中键入被启动的Service所在的包名,如"com.example.anotherapp"。

注意不是在被启动的app中注册以上内容,比如在需要启动app1的Service,而这一启动的操作是在app2中完成的,则修改app2的AndroidManifest.xml。

初学者注意不要放在里面了(笔者一开始就是这么干的)。

2. 使用低版本的Android

在启动app之前选用Android 8.0之前的系统,在AVD Manager可选择这一内容。 若已装有低版本Android的虚拟机,切换到在此虚拟机上运行这两个app就好了。

下图是新建低版本Android虚拟机的步骤。       

Android Studio右上角的AVD Manager
在创建新的Android虚拟机时,选用低版本系统
创建完成后选用低版本的虚拟机即可

需要注意的是,不论是启动Service的app还是被启动Service的app,两者需要同时在虚拟机中运行,否则同样是无法启动的。若要查看app是否已运行,可在选择虚拟机选项(上图中有出现)的左侧查看,安卓图标右下角亮起时便代表此app已投入运行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号