从1个apk文件启动两个android应用程序

从1个apk文件启动两个android应用程序,第1张

概述我需要创建一个启动应用程序的 Android应用程序.新的应用程序需要在orig应用程序的不同进程上运行,需要有一个不同的包名,它需要是图形的(所以我认为排除服务,除非我弄错了,服务可以是图形化的)它需要安装与第一个相同的apk文件. 它不会进入Android市场,所以我不关心市场问题. 我今天看到了一个完全符合我需要的应用程序,它在它的包名下运行了一个进程,并在“{orig.app.packg 我需要创建一个启动新应用程序的 Android应用程序.新的应用程序需要在orig应用程序的不同进程上运行,需要有一个不同的包名,它需要是图形的(所以我认为排除服务,除非我弄错了,服务可以是图形化的)它需要安装与第一个相同的apk文件.
它不会进入AndroID市场,所以我不关心市场问题.

我今天看到了一个完全符合我需要的应用程序,它在它的包名下运行了一个进程,并在“{orig.app.packgename}:remote”下打开了一个新进程.

任何人都可以告诉我这样的事情怎么办?

解决方法 如上所述,单个APK只能容纳一个应用.

您可以随时建议您的用户安装另一个应用程序,但我
明白这不是你想要的.

所以,这是一个小技巧,可以满足你的目标
(接受不同的包名,无法做到这一点)包裹在内
单个APK:

第一步:为您的独立活动添加一个androID:process标签:

<activity androID:name=".StandAloneActivity"      androID:process=":MyNewProcess">

这将告知AndroID此活动应在单独的进程上执行
其名称为“MyNewProcess”.您可以添加标记为“:MyNewProcess”的其他组件(ActivitIEs,Services ..).它们都将在同一个进程中执行.

然后:为您的独立活动创建一个“action.MAIN”意图过滤器
和你的应用程序的主要活动:

<activity  androID:name=".MainActivity" >    <intent-filter>         <action androID:name="androID.intent.action.MAIN"/>         <category androID:name="androID.intent.category.LAUNCHER"/>    </intent-filter></activity><activity    androID:name=".StandAloneActivity"    androID:process=":MyNewProcess" >    <intent-filter>         <action androID:name="androID.intent.action.MAIN"/>         <category androID:name="androID.intent.category.LAUNCHER"/>    </intent-filter></activity>

这将告知AndroID需要为您的应用创建两个不同的主屏幕图标,每个MAIN活动一个(现在在不同的进程上运行).

不用说,标准方法调用不会从一个方法调用
过程到另一个.您需要使用Intents,AIDL interfaces或其中任何一个您心爱的其他IPC机制

总结

以上是内存溢出为你收集整理的从1个apk文件启动两个android应用程序全部内容,希望文章能够帮你解决从1个apk文件启动两个android应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存