无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(android 震动) Android App后台震动的实现步骤详解 Android 应用程序后台震动实现方法 全网首发(图文详解1)

前沿技术 Micheal 4个月前 (06-24) 42次浏览 已收录 扫描二维码

(android 震动) Android App后台震动的实现步骤详解

在Android应用程序中实现后台震动,首先需要确保你的应用有权限使用振动功能。在Android 6.0(API 级别 23)及以上版本中,需要在代码中请求振动权限。以下是实现Android App后台震动的详细步骤:

1. 在AndroidManifest.xml中添加振动权限:

<uses-permission android:name="android.permission.VIBRATE"/>

2. 在代码中检查和请求权限(如果是API 23+):
一般情况下,这步在活动(Activity)中进行。不过如果你要从服务(Service)中振动,确保你已经有权限了。

if (Build.VERSION.SDK_INT >= 23) {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.VIBRATE}, REQUEST_CODE);
    }
}

REQUEST_CODE是应用定义的整数请求码,用于标识权限请求。

3. 创建振动效果:
从Android O(API 级别 26)开始,推荐使用VibrationEffect类来创建振动效果。

VibrationEffect vibrationEffect;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    // 创建一次100毫秒的振动
    vibrationEffect = VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE);
} else {
    // 对于旧版本的Android,直接使用振动器的vibrate方法
    // 该方法已在API 26中被弃用
    long milliseconds = 100;
    vibrator.vibrate(milliseconds);
    return;
}

4. 获取Vibrator服务并振动:

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator != null && vibrator.hasVibrator()) { // 判断设备是否拥有振动器
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        vibrator.vibrate(vibrationEffect);
    } // 对于老版本Android,前面已经处理过振动了
}

5. 振动完成后的清理工作:
一旦你不需要振动器了,最好是关闭它。如果你是单次振动,通常不需要手动做这步,因为振动会自行停止。

6. 在后台服务中使用:
如果你想让应用在后台也能执行振动,可以将这个振动的代码放在一个继承自Service的类中,并在适当的时候启动这个服务。

注意事项:

  • 某些设备可能不包含物理振动器。
  • 从 Android Q(API 级别 29)开始,有背景位置访问权限的应用才能在后台访问振动器。
  • 在用户体验方面,应谨慎使用振动,尤其是在后台服务中,过多使用或过强的振动可能会对用户造成不便。
  • 适当的时候提醒用户您的应用将会使用振动功能。

请确保你的应用逻辑需要振动,并且用户期望振动作为反馈的一部分。对振动功能滥用可能会带来负面的用户体验。
(tessdata) Java使用Tessdata做OCR图片文字识别的详细思路 Tesseract OCR在Java中的使用 全网首发(图文详解1)
(android bindservice) Android中bindService基本使用方法概述 在 Android 中绑定服务的基本步骤 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝