`
thunder_yan
  • 浏览: 113361 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android程序安装和卸载

阅读更多

安装:

String str = "/CanavaCancel.apk"; 
String fileName = Environment.getExternalStorageDirectory() + str; 
Intent intent = new Intent(Intent.ACTION_VIEW); 
 intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); 
startActivity(intent);

 卸载:

Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");   
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);   
startActivity(uninstallIntent);
 Environment拥有一些可以获取环境变量的方法
package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).

//下载apk程序代码
protected File downLoadFile(String httpUrl) {
                final String fileName = "updata.apk";
                File tmpFile = new File("/sdcard/update");
                if (!tmpFile.exists()) {
                        tmpFile.mkdir();
                }
                final File file = new File("/sdcard/update/" + fileName);

                try {
                        URL url = new URL(httpUrl);
                        try {
                                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                                InputStream is = conn.getInputStream();
                                FileOutputStream fos = new FileOutputStream(file);
                                byte[] buf = new byte[256];
                                conn.connect();
                                double count = 0;
                                if (conn.getResponseCode() >= 400) {
                                        Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT).show();
                                } else {
                                        while (count <= 100) {
                                                if (is != null) {
                                                        int numRead = is.read(buf);
                                                        if (numRead <= 0) {
                                                                break;
                                                        } else {
                                                                fos.write(buf, 0, numRead);
                                                        }

                                                } else {
                                                        break;
                                                }

                                        }
                                }
                                conn.disconnect();
                                fos.close();
                                is.close();
                        } catch (IOException e) {

                                e.printStackTrace();
                        }
                } catch (MalformedURLException e) {
                        e.printStackTrace();
                }

                return file;
        }
 //打开APK程序代码
private void openFile(File file) {
                // TODO Auto-generated method stub
                Log.e("OpenFile", file.getName());
                Intent intent = new Intent();
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.content.Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
                startActivity(intent);
        }
 备注说明:

Android系统的应用安装,在系统设置里面有一项,是否安装未知源,所在在软件更新的时候,需要检测这个选项,如果打钩,则只允许安装Market源提供的安装程序,如果没有打钩的话,系统安装应用时会提示用户设置,如果选择设置,设置好后,无法返回安装界面;如果选择取消,则推出安装程序。所以,如果是更新的话,一定要在下载之前就检测许可安装源的设置,或者在下载前检测是否已经下载过新的安装程序,避免重复下载安装程序。

 

相关的代码如下

int result = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);     

if (result == 0) {     

// show some dialog here     

// ...     

// and may be show application settings dialog manually     
Intent intent = new Intent();     
intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);     
startActivity(intent);    
}  
 
分享到:
评论

相关推荐

    Android10.0 静默安装、卸载接口.zip

    在Android系统中,静默安装(Silent Installation)和卸载(Silent Uninstallation)是开发者或者系统管理员在后台执行应用程序的安装与卸载过程,无需用户交互的一种方式。这通常用于批量部署应用或者在设备管理器...

    Android APK的安装卸载

    Android APK 的安装卸载是 Android 应用程序生命周期中的重要部分,对于 Android 应用程序的开发、测试和部署都非常重要。下面我们将详细解释 Android APK 的安装卸载机理。 一、Android APK 的安装 Android APK ...

    Android监听应用程序安装和卸载

    ### Android监听应用程序安装和卸载 在Android开发中,有时候我们需要让自己的应用能够感知到其他应用的安装或卸载情况,比如实现应用管理器、安全软件等场景时,就需要用到这种功能。本文将详细介绍如何在Android...

    Android静默 安装卸载应用程序文档

    在Android系统中,静默安装和卸载应用程序是一种无需用户交互的方式,通常用于自动化测试、设备管理或系统级服务。这种方式涉及到对系统API的深度利用,因为某些接口是隐藏的,需要通过Android系统的源码来访问。...

    android 应用程序安装卸载(卸载应用宝)

    电脑上有腾讯管家,作为安卓开发,用真机测试的比较多,鄙人算一个,不喜欢用应用宝,当你卸载了应用...今天又死机了一次,决定做一个当应用宝安装后弹出卸载框的程序 来提示我们卸载这个可恶的应用宝,我用的是华为3x

    android 静默安装和卸载

    在Android系统中,静默安装(Silent Installation)和静默卸载(Silent Uninstallation)是指在用户无感知的情况下,通过编程方式自动完成应用程序的安装或卸载过程。这通常需要设备具有root权限,因为常规情况下,...

    Android静默安装和卸载

    在Android系统中,静默安装(Silent Installation)和卸载(Silent Uninstallation)是指在用户无感知的情况下,通过编程方式对应用进行安装或卸载的操作。这通常需要设备具有root权限,或者应用程序被内置为系统...

    Android监听应用程序安装和卸载.docx

    在Android开发中,有时我们需要监控应用程序的安装和卸载事件,以便执行相应的操作,如更新数据库、发送通知或执行其他自定义逻辑。以下是如何在Android中实现这一功能的详细步骤: 首先,我们需要创建一个...

    Android应用源码之程序的安装、卸载和更新.zip

    这份压缩包文件"Android 程序的安装、卸载和更新"很可能是包含了一系列关于这个主题的源码示例,用于帮助开发者更深入地理解这些过程的工作机制。下面,我们将详细探讨这些关键知识点。 1. **安装过程**: - 当...

    android静默安装与卸载

    在Android系统中,静默安装(Silent Installation)和卸载是高级用户或者开发者为了批量管理设备上的应用程序而经常使用的功能。通常,这些操作在没有用户交互的情况下进行,因此被称为“静默”。在本篇文章中,我们...

    Android静默安装卸载APK

    总结,通过AIDL调用Android源码实现静默安装卸载APK涉及到创建AIDL接口、实现服务端、绑定服务、处理权限和API兼容性等问题。这个过程需要对Android系统有深入的理解,并且要注意安全性和最佳实践。在实际应用中,...

    Android 监听程序的安装和卸载

    应用开发中有需要监听到程序是否安装或者卸载成功,在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名...

    Android 监听应用的安装和卸载

    在Android系统中,开发者可以通过创建自定义的BroadcastReceiver来监听应用程序的安装和卸载事件。BroadcastReceiver是Android四大组件之一,它能接收到系统或应用发送的广播消息,并执行相应的处理逻辑。以下将详细...

    android 实现自我自动静默卸载

    android 实现自我自动静默卸载 妈妈再也不用担心我是流氓了 部分手机安装失败。本人三星i9108可以 小米安装失败。不知道为什么。同个程序。可能是小米没root,但是代码里面没有涉及root相关的 。只是修改了应用权限 ...

    Android 程序的安装、卸载和更新.zip

    总的来说,Android程序的安装、卸载和更新涉及多个层次的操作,包括文件处理、权限管理、数据存储等。理解这些过程对于开发、维护和使用Android应用至关重要。同时,随着Android系统的不断进化,这些过程可能会有所...

    非开发人员如何使用命令行安装和卸载Android APP

    对于非开发人员来说,虽然可能不常接触,但掌握如何在命令行下安装和卸载Android应用程序(APP)是很有用的,尤其是在没有图形用户界面或者需要批量处理时。这篇博客“非开发人员如何使用命令行安装和卸载Android ...

    Android开发小知识_如何在Android模拟器中安装和卸载程序

    Android开发小知识_如何在Android模拟器中安装和卸载程序,很不错的参考手册,希望对你的学习有帮助

    Android设置APP无法卸载

    综上所述,通过Android的设备管理器API,开发者可以有效地保护应用程序不被普通用户卸载,从而提高应用的安全性和稳定性。然而,这种做法应当遵循最小权限原则,只在必要时使用,以平衡安全性和用户体验。

Global site tag (gtag.js) - Google Analytics