我想创建一个服务(我们称它为 Service A
),该服务在 Android 上运行并由第 3 方应用程序使用(我们称这些应用程序之一为 Application B
)。这样的解决方案类似于 Google Play Services for AR
.
我试图了解如何在 Application B
之间创建依赖关系, 和 Service A
在商店里,这样在安装时 Application B
, Service A
也已安装。
返回Google Play Services for AR
例如,作为第 3 方应用程序开发人员,我只需要指定对 ARCore
的依赖项库,当我在设备上安装该应用程序时,也会安装该服务。
我想这样做的原因是能够更新 Service A
独立于 Application B
的更新,作为Application B
的发布周期不在我的控制之下。
最佳答案
为了在应用程序 B 和服务 A 之间创建依赖关系
,您绝对可以利用 uses-library list 标签,以防止人们在您的自定义依赖项不在他们的设备上的情况下从商店下载它,但这只会阻止他们从商店获取它;他们仍然可以通过无数其他方式下载它。
你最好的选择是让你的应用程序启动到一个特定的启动 Activity ,检查他们的设备上是否存在包:
public static boolean doesUseHaveMyDependency(Context context){
try{
context.getPackageManager().getApplicationInfo("com.yourlib.package", 0 );
return true;
} catch( PackageManager.NameNotFoundException e ){
return false;
}
}
这样,您就可以确定您的自定义库是否已安装。如果没有,只需将他们重定向到下载链接即可获取它,然后当他们重新打开应用程序时,您会再次检查。一旦您确认他们拥有它,您就可以进入主应用程序。
关于android - 将服务部署到 Google Play,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58662316/