我想做的事情可能很难解释或理解,所以我做了一个快速绘图。
首先,我们有2个Android应用。显示“Hello World”和B有一个按钮,可以(可能)下载应用程序(在网络上或本地)。
当我们点击B按钮,下载A应用程序并安装它(如果您在任何市场下载它)然后,使用A app修改B app。
我不知道是否可能:
如果我用一句话总结我想要的东西,那就是:
使用刚下载并安装了B的应用修改B应用。
答案 0 :(得分:1)
我确定你可以下载这些SDK(显然是这里的APK)并使用Fragment
或任何代码注入或者其他东西。
可能需要使用反射,因为您的主要应用程序" B"不会解决" A"。
中的课程也许你的" A" 模块应该公开它所拥有的方法/变量/片段,就像在嵌入式JSON描述性资产中那样," B"可以解析并知道该怎么做。
这里的要点显然是要移动所有的" A"代码远离" B",意味着" B"的灵活性。
答案 1 :(得分:0)
下载应用并以编程方式安装:
是的,您可以通过编程方式执行此操作,但系统会提示用户安装应用程序(例如接受新应用程序将使用的权限)。
String filename = "yourAppName.apk";
//trivial downloading asynctask
DownloadApp appd = new DownloadApp(context, val, filename);
if (appd.downnAndsave()) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File(Environment
.getExternalStorageDirectory()
+ "/download/"
+ filename)),
"application/vnd.android.package-archive");
context.startActivity(intent);
}
创建一个像这样的“polymorph”Android应用程序:
//if the download is complete then have a flag
//use this to run another application from your application B
Intent intent = getPackageManager().getLaunchIntentForPackage("com.package.A");
startActivity(intent);