记得文言文课本里面讲过这样的一句话“不积跬步无以至千里”,学习本身就是一个积累的过程,每天学习一个知识点,那你就成为了大神,每天看一篇磨砺营老师们为大家准备的文章,你同样可以成为行业的精英。
今天给大家介绍几个关于手机的一些小功能实现:
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底层的东西,大家可以相对的汇总成一个完整的工具类,到时候自己调用起来就会非常的方便。
温馨提醒