首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

如何判断应用已经安装完了

2013-12-11 
怎么判断应用已经安装完了?做一个下载、安装、删除的程序,代码我都写好了。下载好后自动安装也可以实现,但是

怎么判断应用已经安装完了?
做一个下载、安装、删除的程序,代码我都写好了。
下载好后自动安装也可以实现,但是删除不知道要什么时候执行了啊。。
应该怎么判断已经安装好了,然后去删除安装包啊?
就写在安装后面的话,会出现先删除安装包,然后无法安装了的情况。。
[解决办法]
安装完了会有广播的


private class InstallReceiver extends BroadcastReceiver{  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            // TODO Auto-generated method stub  
            if(intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)){  
                //Toast.makeText(context, intent.getDataString().substring(8), 2000).show();  
                String packName = intent.getDataString().substring(8);
                //packName为所安装的程序的包名  
                allPackage.add(packName);
                for(InstallAppInfo info:installAppMap.values()){
                if(info.getPackageName().equals(packName)){
                installAppMap.remove(info.getId());
                JSONObject install=new JSONObject();
                try {
    install.put("package_name", packName);
    install.put("result", true);
    } catch (JSONException e) {
    Log_E("in class InstallReceiver and get install object occur error");
    }
                callJavaScriptMethod(installcallback, install.toString());
                break;
                }
                }
            }  
        }  
    }  

[解决办法]
引用:
Quote: 引用:

安装完了会有广播的

private class InstallReceiver extends BroadcastReceiver{  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            // TODO Auto-generated method stub  
            if(intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)){  
                //Toast.makeText(context, intent.getDataString().substring(8), 2000).show();  
                String packName = intent.getDataString().substring(8);
                //packName为所安装的程序的包名  
                allPackage.add(packName);
                for(InstallAppInfo info:installAppMap.values()){
                if(info.getPackageName().equals(packName)){
                installAppMap.remove(info.getId());
                JSONObject install=new JSONObject();


                try {
    install.put("package_name", packName);
    install.put("result", true);
    } catch (JSONException e) {
    Log_E("in class InstallReceiver and get install object occur error");
    }
                callJavaScriptMethod(installcallback, install.toString());
                break;
                }
                }
            }  
        }  
    }  


额,这广播没看懂啊。。
求大神指点啊。。




private class InstallReceiver extends BroadcastReceiver{  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            // TODO Auto-generated method stub  
            if(intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)){  
                //Toast.makeText(context, intent.getDataString().substring(8), 2000).show();  
                String packName = intent.getDataString().substring(8);
                //packName为所安装的程序的包名  

                
               //根据packName,再进行比对
            }  
        }  
    }  

热点排行