新手必備的常用代碼片段整理(一)

原文地址:http://blog.csdn.net/zhaokaiqiang1992

以下內容來自多個開源項目的整理和自己的項目積累

撥打電話


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

跳轉至撥號界面


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

發送短信


1
2
3
4
5
6
7
8
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);
}

喚醒屏幕並解鎖


1
2
3
4
5
6
7
8
9
10
11
12
13
14
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();
}

需要添加權限


1
2
<uses-permission android:name='android.permission.WAKE_LOCK' />
<uses-permission android:name='android.permission.DISABLE_KEYGUARD' />

判斷當前App處於前臺還是後臺狀態


1
2
3
4
5
6
7
8
9
10
11
12
13
public static boolean isApplicationBackground(final Context context) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
@SuppressWarnings('deprecation')
List&lt;ActivityManager.RunningTaskInfo&gt; tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}


需要添加權限


1
2
<uses-permission

android:name='android.permission.GET_TASKS' />


判斷當前手機是否處於鎖屏(睡眠)狀態


1
2
3
4
5
6
public static boolean isSleeping(Context context) {
KeyguardManager kgMgr = (KeyguardManager) context
.getSystemService(Context.KEYGUARD_SERVICE);
boolean isSleeping = kgMgr.inKeyguardRestrictedInputMode();
return isSleeping;
}

判斷當前是否有網絡連接


1
2
3
4
5
6
7
8
9
public static boolean isOnline(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Activity.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
if (info != null &amp;&amp; info.isConnected()) {
return true;
}
return false;
}

判斷當前是否是WIFI連接狀態


1
2
3
4
5
6
7
8
9
10
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;
}

安裝APK


1
2
3
4
5
6
7
8
9
10
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);
}

判斷當前設備是否爲手機


1
2
3
4
5
6
7
8
9
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;
}
}

獲取當前設備寬高,單位px


1
2
3
4
5
6
7
8
9
10
11
12
13
@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();
}

獲取當前設備的IMEI,需要與上面的isPhone()一起使用


1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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;
}

獲取當前設備的MAC地址


1
2
3
4
5
6
7
8
9
10
11
12
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;
}

獲取當前程序的版本號


1
2
3
4
5
6
7
8
9
10
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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章