• android 在锁屏状态下打开GPRS


    我的android手机在开锁的时候要使用滑动解锁,但是尝试的次数貌似只有30次。

    前几天我的手机被同学拿去,结果他不知道密码所以就一直在不断的尝试,结果尝试的次数太多,手

     
    机开启了锁定模式,只有使用谷歌帐号登录才能解锁手机!!

    谷歌帐号我当然有,可是但是我的手机GPR关闭了,直接导致我的帐号登录不了啊!!重启也不行!最后我认为只有刷机了。。。

    当我和另一个同学提起的时候,他给了我一个非常的方法----直接写一个小软件通过电脑

     
    安装到手机上直接打开手机的GPRS,或者在电脑上用adb 命令直接打开GPRS! 结果我在网上找了半天也没有找到adb 相关的命令。。。最后只能通过写一个小apk来实现了

    在网上搜索了android 开启相关权限的配置文件之后就准备自写一个demo 。。。但是自己水平有限,写不出来!!还是网上的大神给力啊!!

    添加的权限如下 

     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

    Java代码如下

     

    package com.kress.gprs;

    import java.lang.reflect.Method;

    import android.app.Activity;
    import android.content.Context;
    import android.net.ConnectivityManager;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    public class GprsTestActivity extends Activity
    {
        private ConnectivityManager mCM;
        
        private Button openButton;
        private Button shutButton;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            mCM = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
            
            openButton = (Button)findViewById(R.id.btnOpen);
            shutButton = (Button)findViewById(R.id.btnShut);
            openButton.setOnClickListener(btnListener);
            shutButton.setOnClickListener(btnListener);

                    
                    //setGprsEnable("setMobileDataEnabled", bEnable);只要把这句代码的注释去掉,运行程序到手机就可以立即打开手机的GPRS了


        }
        
        private Button.OnClickListener btnListener = new Button.OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                switch (v.getId())
                {
                case R.id.btnOpen:
                    
                    gprsEnable(true);
                    break;
                case R.id.btnShut:
                    
                    gprsEnable(false);
                    break;
                default:
                    break;
                }
            }
            
        };
        
        //打开或关闭GPRS
        private boolean gprsEnable(boolean bEnable)
        {
            Object[] argObjects = null;
                    
            boolean isOpen = gprsIsOpenMethod("getMobileDataEnabled");
            if(isOpen == !bEnable)
            {
                setGprsEnable("setMobileDataEnabled", bEnable);
            }
            
            return isOpen;    
        }
        
        //检测GPRS是否打开
        private boolean gprsIsOpenMethod(String methodName)
        {
            Class cmClass         = mCM.getClass();
            Class[] argClasses     = null;
            Object[] argObject     = null;
            
            Boolean isOpen = false;
            try
            {
                Method method = cmClass.getMethod(methodName, argClasses);

                isOpen = (Boolean) method.invoke(mCM, argObject);
            } catch (Exception e)
            {
                e.printStackTrace();
            }

            return isOpen;
        }
        
        //开启/关闭GPRS
        private void setGprsEnable(String methodName, boolean isEnable)
        {
            Class cmClass         = mCM.getClass();
            Class[] argClasses     = new Class[1];
            argClasses[0]         = boolean.class;
            
            try
            {
                Method method = cmClass.getMethod(methodName, argClasses);
                method.invoke(mCM, isEnable);
            } catch (Exception e)
            {
                e.printStackTrace();
            }
        }

    在电脑上通过调试模式将apk直接安装在手机上,然后就看见GPRS被打开了,我输入谷歌帐号,直接就登录成功了。 

    当然我的手机成功解锁了,避免了刷机的麻烦~哈哈 

    最后附上我的工程 apk 

    https://files.cnblogs.com/qinyg/GprsTest.apk

    首先adb install GprsTest.apk

    然后 adb shell am start -n com.kress.gprs/com.kress.gprs.GprsTestActivity  

    打开此应用,手机就会自动打开GPRS了

  • 相关阅读:
    基于Android的学生电子假条管理平台(笔记18)
    基于Android的学生电子假条管理平台(笔记17)
    请假制度管理与责任规避(笔记16)
    高校学生考勤管理系统功能设计(笔记15)
    浅析普通高校考勤请假制度的困境及其解决方法(笔记14)
    浅析普通高校考勤请假制度的困境及其解决方法(笔记13)
    高职大学生非正常请假现象透视(笔记12)
    学校应该完善与落实学生考勤制度——两张与众不同的请假条的故事(笔记11)
    《基于ASP.NET技术的小区物业管理系统设计与实现》论文笔记(二十)
    《基于JSP小区物业信息管理系统的设计与实现》论文笔记(十九)
  • 原文地址:https://www.cnblogs.com/qinyg/p/2691429.html
Copyright © 2020-2023  润新知