Android开发常用代码片段(一)

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

【注】该功能需要以下权限:

  1. 拨打电话: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)));
}

【注】该功能需要以下权限:

  1. 拨打电话: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();
}

【注】该功能需要以下权限:

  1. 允许程序禁用键盘锁:android.permission.DISABLE_KEYGUARD
  2. 唤醒锁: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;
}

【注】该功能需要以下权限:

  1. 任务状态:android.permission.GET_TASKS
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值