Android开发常用代码片段(一)
前一篇:没有啦
后一篇:Android开发常用代码片段(二)
拨打电话
/**
* 拨打电话
* @param context 上下文
* @param phoneNumber 电话号码
*/
private static void call(Context context, String phoneNumber) {
context.startActivity( new Intent(Intent.ACTION_CALL, Uri.parse( "tel:" + phoneNumber)));
}
【注】该功能需要以下权限:
- 拨打电话:android.permission.CALL_PHONE
跳转至拨号界面
/**
* 跳转至拨号界面
* @param context 上下文
* @param phoneNumber 电话号码
*/
private static void callDial(Context context, String phoneNumber) {
context.startActivity( new Intent(Intent.ACTION_DIAL, Uri.parse( "tel:" + phoneNumber)));
}
【注】该功能需要以下权限:
- 拨打电话:android.permission.CALL_PHONE
发送短信
/**
* 发送短信
* @param context 上下文
* @param phoneNumber 电话号码
* @param content 短信内容
*/
private 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);
}
唤醒屏幕并解锁
/**
* 唤醒屏幕并解锁
* @param context 上下文
*/
private 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();
}
【注】该功能需要以下权限:
- 允许程序禁用键盘锁:android.permission.DISABLE_KEYGUARD
- 唤醒锁:android.permission.WAKE_LOCK
判断当前App处于前台还是后台状态
/**
* 判断当前App处于前台还是后台状态
*
* @param context 上下文
* @return 判断结果
*/
private 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;
}
【注】该功能需要以下权限:
- 任务状态:android.permission.GET_TASKS