安卓11以上版本远程启动服务(启动其他应用的服务)
一、前言
大家都知道,谷歌爷爷特别喜欢搞事情,越高的版本,对于开发着来说,越麻烦,以前的远程服务启动方式,从安卓11以上的版本开始就没用了。当然并不是完全没用,需要你额外去做一些事情。
首先说一下,提供服务的应用A为服务端,访问服务的应用B为客户端,我需要在客户端启动服务端的Service。修改xml时别搞混了。
二、配置
2.1 服务端应用A的androidmanifest.xml配置如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.servicedemo"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.ServiceDemo"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><service android:name=".MyService"android:exported="true"android:enabled="true"><intent-filter><!--指定服务的action--><action android:name="com.example.lyyservice"/><category android:name="android.intent.category.DEFAULT" /></intent-filter></service></application></manifest>
2.2 客户端应用B的androidmanifest.xml文件配置如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.aidldemo"><!--这里是关键--><queries><package android:name="com.example.servicedemo"/><intent><action android:name="com.example.lyyservice" /></intent></queries><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.AIDLDemo"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
三、客户端应用B的启动逻辑代码
Intent intent = new Intent();
intent.setAction("com.example.lyyservice");//服务端的Service的action名
intent.setPackage("com.example.servicedemo");//服务端的包名
startService(intent);
四、总结
queries这个标签是写在客户端里面的,别搞混了,一开始我就是错误地把它写到服务端里了,导致启动不了。
有些人说服务端应用A还需要在系统设置里改成自启动,并且授予“后台弹出界面”的权限,才能实现远程启动,不过我在小米10上测的,并不需要这两点,大家可以试一试。
安卓11以上版本远程启动服务(启动其他应用的服务)相关推荐
- 小米10系统版本Android,小米10的安卓11稳定版本再次正式推送
上周二,小米 10 部分手机推送了基于安卓 11 系统的 MIUI V12.2.2.0.RJBCNXM | 稳定版,大小为 3.6G.但随后小米进行了撤包.小米10的安卓11稳定版本再次正式推送.IT ...
- 如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止. 因为最近也碰到了这个问题,所以写博客记下 mysql版本:8.0.20(在官 ...
- Mysql启动报错:本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
报错 在启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止. 解决前提 以管理员身份运行cmd,然后切换到mysql安装盘,找到my ...
- oracle启动监听程序报错:本地计算机上的oracleOraDB11g_home1TNSListener服务启动后停止某些服务在未由其他服务或程序使用时将自动停止
今晚启动oracle的监听程序服务时候报了个错误:本地计算机上的oracleOraDB11g_home1TNSListener服务启动后停止某些服务在未由其他服务或程序使用时将自动停止,如下图: 排查 ...
- mysql服务启动报错:“服务读取描述失败,错误代码:2”的解决办法?
mysql服务启动报错:"服务读取描述失败,错误代码:2"的解决办法? 这个问题是mysql的服务被损坏了,需要重建服务,不需要重新安装mysql,方法步骤如下 第1步:删除已有的 ...
- 本地计算机上的MYSQL服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止解决方法
1.首先移除现在的MYSQL服务 进入mysql安装的bin目录 当前目录为C:/GJBMAP/bin/mysql/bin 打开DOS命令行输入: mysqld --remove mysql 2.查看 ...
- 本地计算机t3服务服务启动后停止,T3服务启动后又停止了
右击"我的电脑"-"管理"-"服务"-找到"用友通"服务,选"启动"的时候仍然提示错误:" ...
- 【MYSQL错误解决】本地计算机上的MYSQL服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
起因:发现mysql库里的数据乱码了,中文都显示为'?',找到的解决办法是在配置文档my.ini中加一个设置: 但是加完之后重启MySQL服务就启不起来了><,就算把my.ini中新增部分 ...
- 微服务启动顺序_微服务框架Demo.MicroServer运行手册
一.背景说明: 之前分享过一个微服务开发框架, "享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionle ...
最新文章
- 学习	shell脚本之前的基础知识
- android 不同项目代码合并在一块,android - 是否可以将两个(正在积极开发中的)Android应用程序模块合并到同一个Android Studio项目中? - 堆栈内存溢出...
- vue与外部html通信,VUE页面实现加载外部HTML方法
- Ubuntu下安装opencv3.4.6+opencv_contrib
- 已知二叉树的后序和中序遍历结果 求前序结果
- (转载)《相信自己》
- 基于Android的简单购物,基于Android的购物系统设计与实现
- Linux中ls颜色含义
- 海外:国外最受欢迎的5个电子邮件服务网站
- Ubuntu20.04 + ROS Noetic 安装 Projectory Dave 仿真环境
- 百度AI平台申请使用流程
- 搜索python设计题的微信公众号_appium+python自动化42-微信公众号 (可能以后会遇到也遇到切换不了webview的问题 记录再此 还没试)...
- 如何用Ps用高斯模糊
- 【CF1646D】D. Weight the Tree(树形dp、贪心)
- XBee zigbee 使用指南---XBee API模式示例
- Jasper 中文字体
- Excel 2010 VBA 入门 081 数据处理之获取不重复的数据
- QT-QStackedWidget多窗口应用
- ProcessMonitor文件以及注册表监视器的使用
- kong笔记 目录导航