zoukankan      html  css  js  c++  java
  • 判断服务是否开启,应用是否安装,并安装应用

    //检查应用程序是否安装并安装应用程序
    
            public boolean checkApkExist(Context context, String packageName) {
                    if (packageName == null || "".equals(packageName))
                            return false;
                    try {
                            ApplicationInfo info = context.getPackageManager()
                                            .getApplicationInfo(packageName,
                                                            PackageManager.GET_UNINSTALLED_PACKAGES);
                            return true;
                    } catch (NameNotFoundException e) {
                            return false;
                    }
            }
    
            private void installVoiceServiceApk() {
    
                    Intent intent = new Intent();
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.setAction(Intent.ACTION_VIEW);
                    String type = "application/vnd.android.package-archive";
                    AssetManager assets = ProActivity.this.getAssets();
                    try {
                            //当文件比较大的时候不能用这个方法 来读取Stream ss.read(buffer) = -1  我的apk大小为5M
                            InputStream ss = assets.open(AsrService.apk");
                            //使用下面这个方法 没问题
                            InputStream is = getClass().getResourceAsStream(
                                            "/assets/AsrService.apk");
    
                            FileOutputStream fos = ProActivity.this.openFileOutput(
                                            "AsrService.apk", Context.MODE_PRIVATE
                                                            + Context.MODE_WORLD_READABLE);
                            byte[] buffer = new byte[1024];
                            int len = 0;
                            while ((len = is.read(buffer)) != -1) {
                                    fos.write(buffer, 0, len);
                            }
                            fos.flush();
                            is.close();
                            fos.close();
                    } catch (Exception e) {
                            e.printStackTrace();
                    }
                    File f = new File(ProActivity.this.getFilesDir().getPath()
                                    + "/AsrService.apk");
    
                    // String path = "file:///android_asset/ZXing.apk";
                    // File f = new File(path);
                    intent.setDataAndType(Uri.fromFile(f), type);
                    ProActivity.this.startActivity(intent);
    
            }
    //检查服务是否启动
            private boolean isStartService(Context ctx) {
                    ActivityManager mActivityManager = (ActivityManager) ctx
                                    .getSystemService(Context.ACTIVITY_SERVICE);
                    List<ActivityManager.RunningServiceInfo> currentService = mActivityManager
                                    .getRunningServices(100);
                    final String igrsClassName = "com.iflytek.asr.AsrService"; //serviceName
                    boolean b = igrsBaseServiceIsStart(currentService, igrsClassName);
                    return b;
            }
    
            private boolean igrsBaseServiceIsStart(
                            List<ActivityManager.RunningServiceInfo> mServiceList,
                            String className) {
                    for (int i = 0; i < mServiceList.size(); i++) {
                            if (className.equals(mServiceList.get(i).service.getClassName())) {
                                    return true;
                            }
                    }
                    return false;
            }
  • 相关阅读:
    8款最新CSS3表单 环形表单很酷
    8款给力HTML5/CSS3应用插件 可爱的HTML5笑脸
    分享10款效果惊艳的HTML5图片特效
    9款极具创意的HTML5/CSS3进度条动画
    分享9款最新超酷HTML5/CSS3应用插件
    7款HTML5精美应用教程 让你立即爱上HTML5
    (转)整理 node-sass 安装失败的原因及解决办法
    分析Vue框架源码心得
    Vue中的render函数随笔
    微信小程序商业级实战
  • 原文地址:https://www.cnblogs.com/huidaoli/p/3947785.html
Copyright © 2011-2022 走看看