APP A会启动B,我想监听后把B换成C去启动,求思路

TonyLian 2018-09-13 11:28:47
首先,本人有20年编程经验,但是安卓开发是零经验。

车载安卓的定制化“桌面”,有个启动导航的快捷按钮,但是它只能固定启动凯立德

我想做个后台服务,监听这个启动操作,截获之后,改为启动高德。

希望,能得到些指点。比如安卓开发,创建工程时,是否有普通应用和后台服务之分?
监听A要启动B,用什么API,如何“杀”掉这个启动命令?
转为去启动C,又改用什么API

或者有什么学习资料是相对捷径的,谢谢!
...全文
551 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TonyLian 2018-09-17
  • 打赏
  • 举报
回复
楼主来补充说明一些:

车机本身是一个禁掉安卓桌面的“封闭”系统,我已经进入了安卓桌面,安装了文件浏览器和高德。
原本的车机界面,如车机主界面、FM收听界面、蓝牙电话界面.....其实都是定制的APP。
顶楼中我提到的那个“启动导航的按钮”就是在这些APP的界面上的,而不是某些开放型车机那样,直接把安卓桌面摆在屏幕上,安装上高德就能按图标启动了。

车机那几个APP(主界面、FM收音机、蓝牙电话等)反编译后可以看到很多“cld.navi.c3306.mainframe”,就是凯立德的ID
把这些ID都改成高德的,我不敢下手,因为这些原车机的APP都是系统应用,我也没拿到ROOT,这车机也没有ROM可以平刷。

把高德的ID强制改成凯立德的,也遇到2个障碍,1是高德反编译后,再编译出的APK无法使用,可能有加密手段。
2是这样做要卸载凯立德,而它也是系统应用,我没有ROOT卸载不了。这个车机还没有ROOT方法。

所以,才想出这么一个“第三方监听,偷梁换柱”的方法,也不知道是不是正路,请大家多多指教。
weixin_41224699 2018-09-15
  • 打赏
  • 举报
回复
这种情况下,通知不好使,循环遍历监听
24K_冒牌货 2018-09-15
  • 打赏
  • 举报
回复
如果你想截获别的app启动界面,在我看来是做不到的,除非就是我上面说的你注册了它需要的那个功能的界面,或者修改那个按钮功能的代码(这个不容易吧,需要root权限不说了,还需要反编译出那里的代码,感觉还不如自己做一个这样功能的app)。
24K_冒牌货 2018-09-15
  • 打赏
  • 举报
回复
那个快捷按钮应该是系统的吧?或者是其他app的?
Android启动一个界面是通过Context.startActivity(Intent intent)的,里面的intent是可以指定你要启动一个什么界面,这个界面可以是调用这个代码的那个app,也可以是第三方app,甚至可以指定启动什么功能的界面,就好像可以指定有导航功能的App的某个界面。而你说的那个按钮不知道是写死了固定调用凯立德这个app的导航界面还是可以让用户选择用哪个app的导航功能。如果是后者那就好办了,你可以在车载安卓系统那安装个高德地图,点击那个按钮系统会让你选择用哪个app来导航的,如果能卸载凯立德那app的话,系统就会自动跳到高德那去了;但如果是前者,你可以自己做一个应用,集成高德地图的api来做导航功能。
吃代码的鱼儿 2018-09-14
  • 打赏
  • 举报
回复
1.在A的onCreate()方法中做拦截操作,这个拦截操作必须要在逻辑处理之前,而且要在setContenView()之前。
2.通过广播进行分发消息,接受广播信息,根据接收的信息启动任何界面
3.通过自定义协议,在启动A之前,确定协议内容
寒冰雪松 2018-09-14
  • 打赏
  • 举报
回复
按钮>发布特定广播信息>接收特定广播信息>启动凯立德
Yang_Farley 2018-09-14
  • 打赏
  • 举报
回复
明白你意思,就是你的车载系统是Android的 桌面有个导航,但是点进去是凯立德,你的车是别克吧?哈哈
你是想点击导航进入高德而不是凯立德,对吧?
其实你想复杂了,你先把你的系统设置为开发者模式
你也有开发经验 后面不用说你也知道了。直接装一个高德 或者把高德提出来 凯立德就可以删掉了
过儿丶 2018-09-13
  • 打赏
  • 举报
回复
创建工程时没得普通应用和后台服务之分。
其他的问题,如果你是root权限啥都可以干

80,361

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧