Android常用代码段

来源:互联网 发布:js绘制流程图的插件 编辑:程序博客网 时间:2024/05/16 15:51

出处:http://mp.weixin.qq.com/s?__biz=MzA4NjQxMjA5OA==&mid=401797794&idx=2&sn=a0a47cea6f60414a38c34bed25fbd3ad&scene=23&srci

1.拨打电话:

public static void call(Context context,String phoneNumber){          context.startActivity(new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber)));      } 


2.进入拨号界面




public static void callDial(Context context,String phoneNumber){        context.startActivity(new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+phoneNumber)));    }




3.发送短信



public static void sendSms(Context context,String phoneNumber,            String content){        Uri uri=Uri.parse("smsto:"                +(TextUtils.isEmpty(phoneNumber)?"":phoneNumber));        Intent intent=new Intent(Intent.ACTION_SENDTO,uri);        intent.putExtra("sms_body",TextUtils.isEmpty(content)?"":content);        context.startActivity(intent);    }



4.唤醒屏幕并解锁


public static void wakeUpAndUnlock(Context context){          KeyguardManager km=(KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE);          KeyguardManager.KeyguardLock kl=km.newKeyguardLock("unLock");          //解锁          kl.disableKeyguard();          //获取电源管理器对象          PowerManager pm=(PowerManager)context.getSystemService(Context.POWER_SERVICE);          //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag          PowerManager.WakeLock wl=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_DIM_WAKE_LOCK,"bright");          //点亮屏幕          wl.acquire();          //释放          wl.release();      }



5.需要添加权限


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


6.判断当前App处于前台还是后台状态


public static boolean isApplicationBackground(finalContext context){        ActivityManager am=(ActivityManager)context                .getSystemService(Context.ACTIVITY_SERVICE);        @SuppressWarnings("deprecation")        List<ActivityManager.RunningTaskInfo>tasks=am.getRunningTasks(1);        if(!tasks.isEmpty()){            ComponentName topActivity=tasks.get(0).topActivity;            if(!topActivity.getPackageName().equals(context.getPackageName())){                return true;            }        }        return false;    }



7.需要添加权限


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



8.判断当前手机是否处于锁屏(睡眠)状态


public static boolean isSleeping(Context context){        KeyguardManager kgMgr=(KeyguardManager)context                .getSystemService(Context.KEYGUARD_SERVICE);        boolean isSleeping=kgMgr.inKeyguardRestrictedInputMode();        return isSleeping;    }



9.判断当前是否有网络连接


public static boolean isOnline(Context context){        ConnectivityManager manager=(ConnectivityManager)context                .getSystemService(Activity.CONNECTIVITY_SERVICE);        NetworkInfo info=manager.getActiveNetworkInfo();        if(info!=null&&info.isConnected()){            return true;        }        return false;    }



10.判断当前是否是WIFI连接状态



public static boolean isOnline(Context context){        ConnectivityManager manager=(ConnectivityManager)context                .getSystemService(Activity.CONNECTIVITY_SERVICE);        NetworkInfo info=manager.getActiveNetworkInfo();        if(info!=null&&info.isConnected()){            return true;        }        return false;    }


11.安装APK


public static void installApk(Context context,File file){        Intent intent=newIntent();        intent.setAction("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        intent.setType("application/vnd.android.package-archive");        intent.setDataAndType(Uri.fromFile(file),                "application/vnd.android.package-archive");        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);    }



12.判断当前设备是否为手机


public static boolean isPhone(Context context){        TelephonyManager telephony=(TelephonyManager)context                .getSystemService(Context.TELEPHONY_SERVICE);        if(telephony.getPhoneType()==TelephonyManager.PHONE_TYPE_NONE){            return false;        }else{            return true;        }    }



13.获取当前设备宽高,单位px



 @SuppressWarnings("deprecation")    public static int getDeviceWidth(Context context){        WindowManager manager=(WindowManager)context                .getSystemService(Context.WINDOW_SERVICE);        return manager.getDefaultDisplay().getWidth();    }     @SuppressWarnings("deprecation")    public static int getDeviceHeight(Context context){        WindowManager manager=(WindowManager)context                .getSystemService(Context.WINDOW_SERVICE);        return manager.getDefaultDisplay().getHeight();    }



14.获取当前设备的IMEI,需要与上面的isPhone()一起使用


@TargetApi(Build.VERSION_CODES.CUPCAKE)    public static String getDeviceIMEI(Context context){        String deviceId;        if(isPhone(context)){            TelephonyManager telephony=(TelephonyManager)context                    .getSystemService(Context.TELEPHONY_SERVICE);            deviceId=telephony.getDeviceId();        }else{            deviceId=Settings.Secure.getString(context.getContentResolver(),                    Settings.Secure.ANDROID_ID);         }        return deviceId;    }



15.获取当前设备的MAC地址


public static String getMacAddress(Context context){        String macAddress;        WifiManager wifi=(WifiManager)context                .getSystemService(Context.WIFI_SERVICE);        WifiInfo info=wifi.getConnectionInfo();        macAddress=info.getMacAddress();        if(null==macAddress){            return "";        }        macAddress=macAddress.replace(":","");        return macAddress;    }



16.获取当前程序的版本号


public static String getAppVersion(Context context) {        String version = "0";        try {            version = context.getPackageManager().getPackageInfo(                    context.getPackageName(), 0).versionName;        } catch (PackageManager.NameNotFoundException e) {            e.printStackTrace();        }        return version;    }



0 0