关于android程序自动更新功能的实现,如何去除安装提示

tobec520 2011-10-25 10:34:14
如题,项目需要一个程序后台自动升级的功能,具体方法如下

void update() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment
.getExternalStorageDirectory(), Config.UPDATE_SAVENAME)),
"application/vnd.android.package-archive");
startActivity(intent);
}


问题是,这种安装APK的方式在安装之前会有一个提示 ,需要用户确认才能继续安装,请问,有木有办法能把这个提示去掉让程序自动更新呢?(PS:别误会。。 我不是想搞病毒,远程控制客户端更新的程序 真心需要这个功能。。。)
各位大大有没有什么好的经验或者处理方法,不吝赐教,谢谢~~盼回复
...全文
2117 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhangfenng 2013-04-26
  • 打赏
  • 举报
回复
静默安装就行
兔子和小鱼干 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 5 楼 aydge 的回复:

楼主,你问这问题是不是有点秀逗?
如果可以,那程序可以满世界下载和悄悄安装,android系统安全何在?
就算可以,也只能在root过的机器上下手取消安全拦截吧。
你只要看看很多安装器包括豌豆夹手机精灵都没实现自动安装(usb连线是通过调试模式进行的),你就应该有个结论“我他妈的不该朝这个方向想!”


我汗,同学建议你再深入学习下Andro……
[/Quote]
如果你做第三方app,而不是嵌入ROM,或者没有root权限是不行的吧
兔子和小鱼干 2012-08-15
  • 打赏
  • 举报
回复
如果获得了root权限可以使用pm安装
上赶子 2012-08-14
  • 打赏
  • 举报
回复
LZ,看看这个帖子:http://aswang.iteye.com/blog/1493552,已经有实现了,呵呵,这个需求是很普遍的啦
奋斗并快乐着 2012-08-14
  • 打赏
  • 举报
回复
下面是我使用的方法,需要android:sharedUserId="android.uid.system"。
android设备是自己定制的设备,普通手机恐怕不行。

	public static String installSliently(String filePath) throws IOException {
String[] args = { "pm", "install", "-r", filePath };
ProcessBuilder processBuilder = new ProcessBuilder(args);

Process process = processBuilder.start();
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int read = -1;

baos.write("err:\n".getBytes());
InputStream errIs = process.getErrorStream();
try{
while ((read = errIs.read()) != -1) {
baos.write(read);
}
}finally{
errIs.close();
}
baos.write('\n');
baos.write("out:\n".getBytes());
InputStream inIs = process.getInputStream();
try{
while ((read = inIs.read()) != -1) {
baos.write(read);
}
}finally{
inIs.close();
}

byte[] data = baos.toByteArray();
return new String(data);
}finally{
process.destroy();
}
}
forlong401 2012-08-14
  • 打赏
  • 举报
回复
应用层不可以使用。除了原生的应用。
danceflash 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
to 4 楼 好的 我仔细研究研究、
to 5 楼 我不知道你是哪来的勇气说出这么肯定的话的。。。特别是在已经有前人做过回答打前提下,行不行 要试了才知道 不是嘴巴说说的
[/Quote]

简单总结一下:
Root过的机器,怎么都能做
没Root过的机器,在用户态下,你肯定做不到的
所以关键是lz你所设计的功能的前提是什么?内置ROM?要求Root?普通应用?
前两者可以实现,最后一个目前的Android是不可能的
tobec520 2012-05-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

lz 你好。请问你的问题解决了吗? 最近也要实现这个功能。
[/Quote]

好吧, 问题是解决了。。 不过修改了底层源代码 把它那个 packageInstaller 的apk改掉了。。。。
fengyagang 2012-04-18
  • 打赏
  • 举报
回复
lz 你好。请问你的问题解决了吗? 最近也要实现这个功能。
lizhengjun2010 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aydge 的回复:]

楼主,你问这问题是不是有点秀逗?
如果可以,那程序可以满世界下载和悄悄安装,android系统安全何在?
就算可以,也只能在root过的机器上下手取消安全拦截吧。
你只要看看很多安装器包括豌豆夹手机精灵都没实现自动安装(usb连线是通过调试模式进行的),你就应该有个结论“我他妈的不该朝这个方向想!”
[/Quote]

我汗,同学建议你再深入学习下Android!

问你几个问题:
1,adb install 用过吗? 在dos下adb install *.apk时 手机上提示安装了吗?
2,pm install 用过吗? 在底层linux下输入命令 pm install *.apk 手机上提示安装了吗?
3,看过系统源码吗?编译过吗?
4,framework层没提供接口,直接使用过底层接口吗?

这些你都知道,那你可以把话说的绝对!
但还是希望同学虚心点,很多东西,自己不能实现,不代表别人不能实现啊!

我也不是什么大牛,只是随便说说,望一笑而过....
tobec520 2011-10-25
  • 打赏
  • 举报
回复
to 4 楼 好的 我仔细研究研究、
to 5 楼 我不知道你是哪来的勇气说出这么肯定的话的。。。特别是在已经有前人做过回答打前提下,行不行 要试了才知道 不是嘴巴说说的
Aydge 2011-10-25
  • 打赏
  • 举报
回复
楼主,你问这问题是不是有点秀逗?
如果可以,那程序可以满世界下载和悄悄安装,android系统安全何在?
就算可以,也只能在root过的机器上下手取消安全拦截吧。
你只要看看很多安装器包括豌豆夹手机精灵都没实现自动安装(usb连线是通过调试模式进行的),你就应该有个结论“我他妈的不该朝这个方向想!”
lizhengjun2010 2011-10-25
  • 打赏
  • 举报
回复
呵呵...最近刚实现了这个功能...
提示下楼主:
在eclipse下编译不行的,代码会出现错误..
需要系统编译工具mmm模块编译...
tobec520 2011-10-25
  • 打赏
  • 举报
回复
和系统下编译? 能说具体一点吗? 不是很明白。。。
King_at_csdn 2011-10-25
  • 打赏
  • 举报
回复
PackageManager里有个installPackage方法。不过要和系统下编译才能用呐~
同事有个批量安装不跳出询问界面的应用,就是用这个方法的。。
tobec520 2011-10-25
  • 打赏
  • 举报
回复
没人回答啊~~~~在线等啊

80,352

社区成员

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

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