乐视手机调用自启动管理, 乐视手机调用应用权限管理

原创 2015年11月19日 19:34:40

乐视手机

乐视手机调用自启动管理,
String ACTION_PERMISSION_AUTOBOOT = “com.letv.android.permissionautoboot”;

乐视手机调用应用权限管理
String ACTION_PERMISSION_AUTOBOOT = “com.letv.android.permissionandapps”;

/***
     * 适配乐视手机, 跳转到自启动
     * @param ctx
     */
    public void startPermissionAutoBootActivity(Context ctx) {
        boolean hasLetvsafe = false;
        try {
            ApplicationInfo info = ctx.getPackageManager().getApplicationInfo("com.letv.android.letvsafe",
                    PackageManager.GET_UNINSTALLED_PACKAGES);
            hasLetvsafe = info != null;
        } catch (PackageManager.NameNotFoundException e) {
            hasLetvsafe = false;
        }
        if (hasLetvsafe) {
            String ACTION_PERMISSION_AUTOBOOT = "com.letv.android.permissionautoboot";
            Intent intent = new Intent(ACTION_PERMISSION_AUTOBOOT);
            // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK |
            // Intent.FLAG_ACTIVITY_NEW_TASK);
            ctx.startActivity(intent);
        }
    }


    /***
     * 适配乐视手机, 跳转到应用权限管理
     * @param ctx
     */
    public void startPermissionAppPermission(Context ctx) {
        boolean hasLetvsafe = false;
        try {
            ApplicationInfo info = ctx.getPackageManager().getApplicationInfo("com.letv.android.letvsafe",
                    PackageManager.GET_UNINSTALLED_PACKAGES);
            hasLetvsafe = info != null;
        } catch (PackageManager.NameNotFoundException e) {
            hasLetvsafe = false;
        }
        if (hasLetvsafe) {
            String ACTION_PERMISSION_AUTOBOOT = "com.letv.android.permissionandapps";
            Intent intent = new Intent(ACTION_PERMISSION_AUTOBOOT);
            // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK |
            // Intent.FLAG_ACTIVITY_NEW_TASK);
            ctx.startActivity(intent);
        }
    }

小米手机

    /**
     * 主要功能:
     * <br> 设置自启动管理,主要适用小米手机,其它未考虑
     * <br> 步骤
     * <br> 1. 先判断是不是MIUI
     * <br> 2. 
     * @annotation ADRIAN.2015.8.4.18.40
     */
    public synchronized boolean goTrustList(Context ctx){
        if(IS_MIUI){
            if("V6".equalsIgnoreCase(miuiVersion)||"V7".equalsIgnoreCase(miuiVersion)){
                try{
                    Intent localIntent = new Intent();
                    localIntent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
                    ctx.startActivity(localIntent);
                    startGuideView(ctx, SetGuideActivity.TYPE_GO_TRUSTLIST_V6);
                    return true;
                }catch (Exception localException){
                }
            }else{
                PackageManager pm = ctx.getPackageManager();
                PackageInfo info = null;
                try {
                    info = pm.getPackageInfo(FS.getInstance().getPackageName(), 0);
                } catch (NameNotFoundException e) {
                    e.printStackTrace();
                }
                Intent i = new Intent("miui.intent.action.APP_PERM_EDITOR");
                i.setClassName("com.android.settings", "com.miui.securitycenter.permission.AppPermissionsEditor");
                i.putExtra("extra_package_uid", info.applicationInfo.uid);
                try {
                    ctx.startActivity(i);
                    startGuideView(ctx, SetGuideActivity.TYPE_GO_TRUSTLIST_V5);
                } catch (Exception e) {
                    //  Toast.makeText(this, "只有MIUI才可以设置哦", Toast.LENGTH_SHORT).show();
                }
            }
            return true;
        } else {
            return false;
        }
    }

    /**
     * 主要功能:
     * <br>兼容MIUI5和MIUI6的,开启悬浮窗设置界面
     * @annotation ADRIAN.2015.8.4.18.37
     */
    public boolean goStartSetting(Context ctx){
        if(IS_MIUI){
            if("V6".equalsIgnoreCase(miuiVersion) || "V7".equalsIgnoreCase(miuiVersion)){
                Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR");
                intent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity");  
                intent.putExtra("extra_pkgname", FS.getInstance().getPackageName());
                ctx.startActivity(intent);
                startGuideView(ctx, SetGuideActivity.TYPE_GO_START_SETTING_V6);
                //  Intent intent = new Intent(
                //  Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                //  Uri uri = Uri.fromParts("package", FS.getInstance().getPackageName(), null);
                //  intent.setData(uri);
            }else{
                String pkgName = StartDetectionUtils.getPkgName(ctx);
                Uri packageURI = Uri.parse("package:" + pkgName);
                Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
                ctx.startActivity(intent);
                startGuideView(ctx, SetGuideActivity.TYPE_GO_START_SETTING_V5);
            } 
            return true;
        } else {
            return false;
        }
    }

华为手机

public void ddd(Context ctx){
        try {
            // 华为大坑,不能直接用Intent来启动,会启不起来
            String cmd = "am start -n com.huawei.systemmanager/.optimize.process.ProtectActivity";
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
                cmd += " --user " + getUserSerial(ctx);
            }
            Runtime.getRuntime().exec(cmd);
        } catch (IOException ex) {
        }

//      Intent intent = new Intent(ctx, ProtectedActivity.class);
//      intent.putExtra(ErtaoConstants.EXTRA_FRAGMENT_CLASS, ProtectedFragment.class.getName());
//      intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
//      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//      context.startActivity(intent);
        // 先获取上下文,避免跳转到其它界面后Fragment与Activity解绑,getActivity()空指针
//      final Context context = getActivity();
//      mHandler.postDelayed(new Runnable() {
//          @Override
//          public void run() {
//              Intent intent = new Intent(context, ProtectedActivity.class);
//              intent.putExtra(ErtaoConstants.EXTRA_FRAGMENT_CLASS, ProtectedFragment.class.getName());
//              intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
//              intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//              context.startActivity(intent);
//          }
//      }, 1000);
    }

    public String getUserSerial(Context ctx) {
        //noinspection ResourceType
        Object userManager = ctx.getSystemService("user");
        if (userManager == null) return "";

        try {
            Method myUserHandleMethod = android.os.Process.class.getMethod("myUserHandle", (Class<?>[]) null);
            Object myUserHandle = myUserHandleMethod.invoke(android.os.Process.class, (Object[]) null);
            Method getSerialNumberForUser = userManager.getClass().getMethod("getSerialNumberForUser", myUserHandle.getClass());
            long userSerial = (Long) getSerialNumberForUser.invoke(userManager, myUserHandle);
            return String.valueOf(userSerial);
        } catch (NoSuchMethodException ex) {
        } catch (IllegalArgumentException ex) {
        } catch (IllegalAccessException ex) {
        } catch (InvocationTargetException ex) {
        }
        return "";
    }

相关文章推荐

Android5.0之后获取后台正在运行的程序

我们知道在5.0以及之前的版本上获取后台正在运行的程序可以通过ActivityManager.getRunningAppProcesses();来获取一个RunningAppProcessInfo的l...

乐视、小米android 6.0+系统权限填坑之旅

项目做完二期之后测试发现在乐视6.0手机上程序无法运行但小米5完美运行,经排查发现有个接口需要获取手机的imei,而这个操作需要授予 READ_PHONE_STAT(获取手机状态) 权限,这个属于运...

Android Study之跳转自启动管理页

LZ-Says:话说现在流氓软件多不胜数,在反感的同时,我们确实应该去技术的角度去分析,为什么他们能够做到所谓的流氓呢?技术不分错对,关键在于使用技术的人去如何运用相关技术~ 前言话说,最近项目要求软...

Android消息推送之自启动

背景最近公司的项目需要及时聊天功能,聊天功能基本上已经完成,采用的是自己搭建的socket长连接来实现聊天的方按。安排我研究消息推送,主要确保杀死App后还能正常接收消息,重启后也能收到消息。消息推送...

各手机厂商的"自启动管理跳转url。(后面知道新的会继续更新)

自启动管理跳转

Android的权限设置及自启动设置

Android的权限设置及自启动设置

Android之系统设置选项的包名

Android调用手机系统设置需要的包名
  • Monas
  • Monas
  • 2016年07月31日 17:26
  • 2715

Android开发中调用系统设置界面

在Android开发的过程中,我们不可避免地经常需要调用系统设置。那么如何调用Android的系统设置呢?下面进行详细的描述。 =============================...
  • xyzjl
  • xyzjl
  • 2015年08月01日 23:01
  • 3846

乐视手机救砖教程

  • 2017年01月15日 12:27
  • 1.43MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:乐视手机调用自启动管理, 乐视手机调用应用权限管理
举报原因:
原因补充:

(最多只允许输入30个字)