安卓静默安装应用之创建手机桌面图标,并点击图标安装新的应用

当用户安装了一个应用,这个应用的开发者如果足够自信或者基于其他一些原因,当然希望用户也能安装自己其他的应用去试试,这样就能笼络更多用户,将网撒的更大.所以也就不难理解为啥很多时候我们明明就安装了一个新闻应用,但手机桌面却多了一个游戏市场的应用图标,然后我们点击这个图标就会安装这对应的APP游戏市场应用.更进一步,就做到静默安装,在后台安装了新的应用,用户回到桌面才发现, "OMG  我啥时候下了这apk我自己都不知道..."


这次我们用简单的方法先实现创建手机桌面的快捷方式,并点击该图标即可安装新的APK应用.

创建快捷方式

/**
     * 创建快捷方式
     */
    private void SetLauncherLogo(){
        Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        //快捷方式的名称
        shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "我是标题");
        //设置快捷方式图片
        Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.img_1);
        shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
        //设置点击快捷图片后所启动的Activity,在这个Activity可以自定义各种行为 比如安装新的APK应用
        shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , MainActivity.class));
        //向系统发送广播
        sendBroadcast(shortcutintent);

    }


安装APK文件

这里的apk安装包,可以在原本的应用中就后台下载好并放在指定的存储空间,这样当点击快捷方式进入目标Activity中是就能直接安装指定的apk文件了.

/**
     * 安装某个路径下的apk文件
     */
    private void installApk(){
        try{
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(new File("/mnt/sdcard/MyApks/xxx.apk")),
                    "application/vnd.android.package-archive");
            this.startActivity(intent);
        }catch(Exception e){

        }finally{

        }

    }
在目标Activity中的onCreate()直接调用installApk()方法,即可实现点击桌面图标并安装新应用.


,如果本地没有已准备好的apk,则可选择去服务器下载apk并实现安装.


以上就是简单的通过创建桌面快捷方式并安装新应用的方法.如何后台静默安装,后面找个时间再记录下来.



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。