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

前一篇:没有啦
后一篇:Android开发常用代码片段(二)

文章目录

  • Android开发常用代码片段(一)
    • 拨打电话
    • 跳转至拨号界面
    • 发送短信
    • 唤醒屏幕并解锁
    • 判断当前App处于前台还是后台状态

拨打电话

/** * 拨打电话 * @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. android 屏幕适配
  2. Android View绘制及事件(一)屏幕的视图层级,窗口概念初识
  3. [APK破解]终极狂飙3D漂移,无限金钱,解锁全部关卡
  4. Android根据上下文对象Context找到对应的Activity
  5. Android屏幕尺寸适配注意事项
  6. android 屏幕监听滑动事件

随机推荐

  1. 关于界面布局的一些小知识
  2. Android 自动编译、打包生成apk文件 3 -
  3. ViewStub的使用
  4. 几个Android控件属性笔记
  5. 译:Android(安卓)N不再支持通过Intent传递
  6. Finished with error: ProcessException:
  7. Android(安卓)NDK 错误解决方法(持续更新
  8. 手把手教你搞懂 Android 反编译
  9. Android Studio中如何隐藏顶部状态栏和标
  10. 《Android经验分享》周刊第1期