新手必备的常用 Android 代码片段整理

2016-01-20  安卓应用频道

(点击上方公众号,可快速关注)


来源:赵凯强(@裸奔的凯子哥)

链接:http://blog.csdn.net/zhaokaiqiang1992/article/details/44724057


以下内容来自多个开源项目的整理和自己的项目积累。


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(final Context 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 isWifiConnected(Context context) {

        ConnectivityManager connectivityManager = (ConnectivityManager) context

                .getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo wifiNetworkInfo = connectivityManager

                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        if (wifiNetworkInfo.isConnected()) {

            return true;

        }

        return false;

    }


11.安装APK


public static void installApk(Context context, File file) {

        Intent intent = new Intent();

        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;

    }

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐