码迷,mamicode.com
首页 > 移动开发 > 详细

Android--新手必备的常用代码片段整理(一)

时间:2015-12-09 19:15:23      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

  • 拨打电话

  • 跳转至拨号界面

  • 发送短信

  • 唤醒屏幕并解锁

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

  • 判断当前手机是否处于锁屏睡眠状态

  • 判断当前是否有网络连接

  • 判断当前是否是WIFI连接状态

  • 安装APK

  • 判断当前设备是否为手机

  • 获取当前设备宽高单位px

  • 获取当前设备的IMEI需要与上面的isPhone一起使用

  • 获取当前设备的MAC地址

  • 获取当前程序的版本号

拨打电话

 

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;
}

 

 

转载地址:http://blog.csdn.net/zhaokaiqiang1992

Android--新手必备的常用代码片段整理(一)

标签:

原文地址:http://www.cnblogs.com/zrui513/p/5033413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!