Android开发:调用华为手机X轴马达震动
<h2>Android开发:调用华为手机X轴线性马达震动</h2><p>因为使用默认的震动的反馈使用太差了,所以强烈建议除了闹钟的震动使用默认马达,如果有X轴或者Y轴线性马达的手机,尽量使用线性马达。</p>
<p>项目需要的环境/依赖:</p>
<p>build.gradle(项目的)</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">buildscript {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
}</span></pre>
</div>
<p>build.gradle(app):</p>
<div class="cnblogs_code">
<pre> implementation 'com.huawei.devices:hapticskit:1.0.0.400'</pre>
</div>
<p>简单示例:</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> HapticsKit mHapkit;
</span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> HapticsKitAdapter mHapticsAdapter;
mHapkit </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> HapticsKit(context);
mHapticsAdapter </span>= mHapkit.initialize(1<span style="color: rgba(0, 0, 0, 1)">);
mHapticsAdapter.setParameter(HapticsKitConstant.CameraTypeEnum.MODE_SWITCH.getType());</span></pre>
</div>
<p>这里的</p>
<pre><span>HapticsKitConstant.CameraTypeEnum.MODE_SWITCH.getType()种类有很多<br>下列代码中第二个参数都是种类,可以选择自己喜欢的震动模式</span></pre>
<div class="cnblogs_code">
<pre> addData("Camera_enum.CLICK"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.CLICK.getType());
addData(</span>"Camera_enum.CLICK_UP"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.CLICK_UP.getType());
addData(</span>"Camera_enum.FOCUS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.FOCUS.getType());
addData(</span>"Camera_enum.GEAR_SLIP"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.GEAR_SLIP.getType());
addData(</span>"Camera_enum.LONG_PRESS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.LONG_PRESS.getType());
addData(</span>"Camera_enum.MODE_SWITCH"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.MODE_SWITCH.getType());
addData(</span>"Camera_enum.PORTAIT_SWITH"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CameraTypeEnum.PORTAIT_SWITH.getType());
addData(</span>"Battery.CHARGING"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.BatteryTypeEnum.CHARGING.getType());
addData(</span>"Calculator.DELETE"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CalculatorTypeEnum.DELETE_LONG_PRESS.getType());
addData(</span>"Calculator.VITUAL_TASK"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.CalculatorTypeEnum.VITUAL_TASK.getType());
addData(</span>"Clock.STOPWATCH"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ClockTypeEnum.STOPWATCH.getType());
addData(</span>"Clock.Timer"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ClockTypeEnum.TIMER.getType());
addData(</span>"Contact.DELTE"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.DiallerTypeEnum.DELTE.getType());
addData(</span>"Contact.LETTERS_INDEX"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.DiallerTypeEnum.LETTERS_INDEX.getType());
addData(</span>"Contact.LONGPRESS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.DiallerTypeEnum.LONGPRESS.getType());
addData(</span>"Contact.CLICK"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.DiallerTypeEnum.CLICK.getType());
addData(</span>"Control.SEARCH_LONG_PRESS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ControlTypeEnum.SEARCH_LONG_PRESS.getType());
addData(</span>"Control.TEXT_CHOSE"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ControlTypeEnum.TEXT_CHOSE_CURSOR_MOVE.getType());
addData(</span>"Control.TEXT_EDIT"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ControlTypeEnum.TEXT_EDIT.getType());
addData(</span>"Control.WIDGET"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.ControlTypeEnum.WIDGET_OPERATION.getType());
addData(</span>"Desktop.LONG_PRESS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.DesktopTypeEnum.LONG_PRESS.getType());
addData(</span>"FingerPrint.INPUT"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.FingerPrintTypeEnum.INPUT_LONG_PRESS.getType());
addData(</span>"FingerPrint.UNLOCK_FAILE"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.FingerPrintTypeEnum.UNLOCK_FAILE.getType());
addData(</span>"Gallery.ALBUMS"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.GalleryTypeEnum.ALBUMS_LONG_PRESS.getType());
addData(</span>"Gallery.PHOTO"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.GalleryTypeEnum.PHOTOS_LONG_PRESS.getType());
addData(</span>"Gallery.UPGLIDES"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.GalleryTypeEnum.UPGLIDE_RELATED.getType());
addData(</span>"Home.CLICK_BACK."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.NavigationTypeEnum.CLICK_BACK.getType());
addData(</span>"Home.CLICK_HOME."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.NavigationTypeEnum.CLICK_HOME.getType());
addData(</span>"Home.CLICK_MULTITASK."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.NavigationTypeEnum.CLICK_MULTITASK.getType());
addData(</span>"LockScreen.FACE_UNLOCK_FAIL."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.FACE_UNLOCK_FAIL.getType());
addData(</span>"LockScreen.FACE_UNLOCK_RETRY."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.FACE_UNLOCK_RETRY.getType());
addData(</span>"LockScreen.NUMBER_UNLOCK_FAIL."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.NUMBER_UNLOCK_FAIL.getType());
addData(</span>"LockScreen.UNLOCK_CLICK."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.UNLOCK_CLICK.getType());
addData(</span>"LockScreen.ONEHAND."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.ONEHAND_KEYBOARD_SWITCH.getType());
addData(</span>"LockScreen.UNLOCK_SLIP."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.UNLOCK_SLIP.getType());
addData(</span>"LockScreen.UPGLIDE_SWITCH."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.LockScreenTypeEnum.UPGLIDE_SWITCH.getType());
addData(</span>"SystemUI.EXPAND."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.EXPAND.getType());
addData(</span>"SystemUI.MOVE."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.MOVE.getType());
addData(</span>"SystemUI.NO_LONG_PRESS."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.NOTIFICATIONS_LONG_PRESS.getType());
addData(</span>"SystemUI.SCREEN_RECORD."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.SCREEN_RECORD_STOP.getType());
addData(</span>"SystemUI.SWITCH_PRESS."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.SWITCH_LONG_PRESS.getType());
addData(</span>"SystemUI.SWITCH_SORT_PRESS."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.SystemuiTypeEnum.SWITCH_SORT_LONG_PRESS.getType());
addData(</span>"Wallet.TIME_SCROLL."<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.WalletTypeEnum.TIME_SCROLL.getType());
addData(</span>"Keyboard input strength 1"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.HW_HAPTIC_TYPE_GRADE_STRENGTH1);
addData(</span>"Keyboard input strength 2"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.HW_HAPTIC_TYPE_GRADE_STRENGTH2);
addData(</span>"Keyboard input strength 3"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.HW_HAPTIC_TYPE_GRADE_STRENGTH3);
addData(</span>"Keyboard input strength 4"<span style="color: rgba(0, 0, 0, 1)">, HapticsKitConstant.HW_HAPTIC_TYPE_GRADE_STRENGTH4);
addData(</span>"Keyboard input strength 5", HapticsKitConstant.HW_HAPTIC_TYPE_GRADE_STRENGTH5);</pre>
</div>
<p>华为官方对于Haptics Engine的介绍:https://developer.huawei.com/consumer/cn/codelab/HUAWEIHapticsKit/index.html#0</p>
<p>华为官方Github实例:https://github.com/huaweicodelabs/HapticsEngine</p><br><br>
来源:https://www.cnblogs.com/heiyang/p/14509466.html
頁:
[1]