是否可以将系统振动模式作为long[]
阵列获得?例如标准 SMS 振动模式或在偏好 SMS 振动信号中选择的当前。
问问题
468 次
1 回答
0
我认为不可能将当前设备的默认模式作为long[]
数组获取。您可能必须对此进行反复试验。并在您的代码上设置一堆 if's 以根据设备或手机品牌选择不同的振动模式。
就像是:
你的活动.java
import android.os.Vibrator;
private long[] patt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String man = android.os.Build.MANUFACTURER;
if (man.equals("SAMSUNG")) {
patt = {0l,300l,50l,350l};
}
else {
patt = {0l,200l,100l,100l};
}
vibrate(patt);
}
private void vibrate(long[] pattern) {
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (v.hasVibrator()) {
v.vibrate(pattern,-1);
}
}
并且不要忘记添加振动权限。
AndroidManifest.xml
<uses-permission android:name="android.permission.VIBRATE"/>
有关信息,请参阅此链接android.os.Build
。
于 2015-07-28T14:52:08.300 回答