源码分享安卓手机小功能实现的秘密

记得文言文课本里面讲过这样的一句话“不积跬步无以至千里”,学习本身就是一个积累的过程,每天学习一个知识点,那你就成为了大神,每天看一篇磨砺营老师们为大家准备的文章,你同样可以成为行业的精英。

今天给大家介绍几个关于手机的一些小功能实现:

1、判断手机的联网状态:

/**

*检测网络是否可用

*

rturn

*/

publicboolanisNtworkConnctd(){

ConnctivityManagrcm=(ConnctivityManagr)gtSystmSrvic(Contxt.CONNECTIVITY_SERVICE);

NtworkInfoni=cm.gtActivNtworkInfo();

rturnni!=nullni.isConnctdOrConncting();

}

/**

*获取当前网络类型

*

rturn0:没有网络1:WIFI网络2:WAP网络3:NET网络

*/

publicstaticfinalintNETTYPE_WIFI=0x01;

publicstaticfinalintNETTYPE_CMWAP=0x02;

publicstaticfinalintNETTYPE_CMNET=0x03;

publicintgtNtworkTyp(){

intntTyp=0;

ConnctivityManagrconnctivityManagr=(ConnctivityManagr)gtSystmSrvic(Contxt.CONNECTIVITY_SERVICE);

NtworkInfontworkInfo=connctivityManagr.gtActivNtworkInfo();

if(ntworkInfo==null){

rturnntTyp;

}

intnTyp=ntworkInfo.gtTyp();

if(nTyp==ConnctivityManagr.TYPE_MOBILE){

StringxtraInfo=ntworkInfo.gtExtraInfo();

if(!StringUtils.isEmpty(xtraInfo)){

if(xtraInfo.toLowrCas().quals("cmnt")){

ntTyp=NETTYPE_CMNET;

}ls{

ntTyp=NETTYPE_CMWAP;

}

}

}lsif(nTyp==ConnctivityManagr.TYPE_WIFI){

ntTyp=NETTYPE_WIFI;

}

rturnntTyp;

}

2、打开和关闭WiFi

/**

  *是否开启wifitru:开启fals:关闭

  *

  *一定要加入权限:uss-prmission

  *android:nam="android.prmission.ACCESS_WIFI_STATE"/uss-prmission

  *uss-prmission

  *android:nam="android.prmission.CHANGE_WIFI_STATE"/uss-prmission

  *

  *

  *

paramisEnabl

  */

  publicvoidstWifi(boolanisEnabl){

    //

    if(mWm==null){

      mWm=(WifiManagr)this.gtSystmSrvic(Contxt.WIFI_SERVICE);

      rturn;

    }

    

    Systm.out.println("wifi===="+mWm.isWifiEnabld());

    if(isEnabl){//开启wifi

      if(!mWm.isWifiEnabld()){

        mWm.stWifiEnabld(tru);

      }

    }ls{

      //关闭wifi

      if(mWm.isWifiEnabld()){

        mWm.stWifiEnabld(fals);

      }

    }

  }

3、打开相机

Intntintnt=nwIntnt(MdiaStor.ACTION_IMAGE_CAPTURE);

Uriuri=Uri.fromFil(nwFil(Environmnt.gtExtrnalStoragDirctory(),"tmp.jpg"));

intnt.putExtra(MdiaStor.EXTRA_OUTPUT,uri);

startActivityForRsult(intnt,1);

4、打开本地相册

Intntintnt=nwIntnt(Intnt.ACTION_PICK,null);

    intnt.stDataAndTyp(MdiaStor.Imags.Mdia.EXTERNAL_CONTENT_URI,"imag/*");

startActivityForRsult(intnt,1);

5、获取当前的手机号

  /*

*获取当前的手机号

*/

publicStringgtLocalNumbr(){

TlphonyManagrtManagr=(TlphonyManagr)this

.gtSystmSrvic(TELEPHONY_SERVICE);

Stringnumbr=tManagr.gtLin1Numbr();

;rturnnumbr;

}

6、获取apk包的签名信息

privatStringgtSign(Contxtcontxt){

PackagManagrpm=contxt.gtPackagManagr();

ListPackagInfoapps=pm.gtInstalldPackags(PackagManagr.GET_SIGNATURES);

ItratorPackagInfoitr=apps.itrator();

whil(itr.hasNxt()){

PackagInfopackaginfo=itr.nxt();

StringpackagNam=packaginfo.packagNam;

rturnpackaginfo.signaturs[0].toCharsString();

if(packagNam.quals(instanc.gtPackagNam())){

MdiaApplication.logD(DownloadApk.class,packaginfo.signaturs[0].toCharsString());

rturnpackaginfo.signaturs[0].toCharsString();

}

}

rturnnull;

}

7、//调用系统浏览器

Intntintnt=nwIntnt();

intnt.stAction("android.intnt.action.VIEW");

Uricontnt_url=Uri.pars(xitUrl);

intnt.stData(contnt_url);

startActivity(intnt);

8、判断用用在手机上的安装情况

/**

*

parampackagNam要判断应用的包名

*/

privatboolanchckAPK(StringpackagNam){

ListPackagInfopakaginfos=gtPackagManagr().gtInstalldPackags(PackagManagr.GET_UNINSTALLED_PACKAGES);

for(PackagInfopi:pakaginfos){

Stringpi_packagNam=pi.packagNam;

if(packagNam.ndsWith(pi_packagNam)){

rturntru;

}

}

rturnfals;

}

总结:大家在开发过程中很多调用Android底层的东西,大家可以相对的汇总成一个完整的工具类,到时候自己调用起来就会非常的方便。

温馨提醒

如果你已经厌倦了迷茫却不知所从的日子如果你是一位想改变生活的有志青年如果你想让威哥帮助你,请在







































白点疯
白点疯



转载请注明:http://www.gslnbdf.com/azsc/9553.html