首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android振动API

Android振动API
EN

Stack Overflow用户
提问于 2013-12-09 07:05:27
回答 2查看 601关注 0票数 2

我正在试验声音管理应用程序,为“铃声、通知、媒体、系统”创建不同的声音配置文件。

通过设置卷级别,我成功地使用了

代码语言:javascript
复制
AudioManager setStreamVolume(AudioManager.STREAM_RING, <value>);

挑战来自振动设置。

当前,api调用:

代码语言:javascript
复制
AudioManager setVibrateSetting(vibrateType, vibrateSetting);

在API级别16中被废弃,没有使用它的希望。

其他的选择是使用

代码语言:javascript
复制
AudioManager setRingerMode(AudioManager.RINGER_MODE_NORMAL);

但我正期待着关闭和打开振动

  • 环器
  • 通知

从我的自定义应用程序。或者随时为其中之一打开电源。

您可以认为我正在做一些类似于启用和禁用声音设置的振动从操作系统设置选项。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2015-05-11 21:28:26

试试这个:

代码语言:javascript
复制
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);
票数 0
EN

Stack Overflow用户

发布于 2013-12-09 07:08:12

首先,您需要在Manifest文件中定义如下所示

代码语言:javascript
复制
<uses-permission android:name="android.permission.VIBRATE" />

像这样在你的类文件中使用。不知道你到底要把这个放哪儿。

代码语言:javascript
复制
// You need to define some sort of pattern for this
    Vibrator vb = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    long[] pattern = {0, 1000, 0};
    //long[] pattern = {startTime, TotalTimeDuration, not vibrating for 0ms}; .. Example for above stuff
    vb.vibrate(pattern, 0);

例如:

代码语言:javascript
复制
button.setOnTouchListener(new OnTouchListener() {
    Vibrator vb = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                long[] pattern = {0, 1000, 0};
                vb.vibrate(pattern, 0);
                break;
            case MotionEvent.ACTION_UP:
                vb.cancel();
                break;
        }
        return false;
    }
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20464999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档