Android在复选框上振动

亚历克斯·奥希尔格

我想构建一个简单的应用,该应用在单击复选框时会振动,然后在再次单击时停止:

目前看起来像这样:

import android.content.Context;
import android.os.Vibrator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Vibrator vibrator = (Vibrator) MainActivity.this.getSystemService(Context.VIBRATOR_SERVICE);
        final CheckBox vibrateCheckBox = (CheckBox) findViewById(R.id.checkPowerStrong);

        if(vibrateCheckBox.isChecked()) {
            while(vibrateCheckBox.isChecked()) {
                vibrator.vibrate(1000);
            }
        } else {
            vibrator.cancel();
        }

    }
}

但是我确实得到了一个错误:

原因:java.lang.IllegalStateException:onCreate()之前Activities无法使用系统服务

我允许清单振动。

如何解决这个问题

清白的

它完全可以满足您的需求。做这样的事情

final Vibrator vibrator = (Vibrator) MainActivity.this.getSystemService(Context.VIBRATOR_SERVICE);
final CheckBox vibrateCheckBox = (CheckBox) findViewById(R.id.checkPowerStrong);

final Handler handler = new Handler();

final Runnable r = new Runnable() {
    public void run() {
        vibrator.vibrate(1000);
        handler.postDelayed(this, 1000);
    }
};

vibrateCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
           if(vibrateCheckBox.isChecked()) {
               handler.postDelayed(r, 100);
           } else {
               handler.removeCallbacks(r);
               vibrator.cancel();
           }

       }
   }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在android复选框上调用函数复选框?

来自分类Dev

在Android中的复选框上设置条件

来自分类Dev

在父复选框上单击子复选框

来自分类Dev

数组输入复选框上的从属复选框

来自分类Dev

禁用复选框上的输入

来自分类Dev

表或数据框上的复选框

来自分类Dev

复选框上的怪异灰色背景

来自分类Dev

在复选框上调用函数

来自分类Dev

更改复选框上的DIV

来自分类Dev

图像隐藏在复选框上

来自分类Dev

jQuery在复选框上显示div

来自分类Dev

选中click href和click复选框上的复选框

来自分类Dev

选中复选框时如何打开引导程序模态(在复选框上打勾时)

来自分类Dev

显示复选框上的复选框是否输入其他内容

来自分类Dev

复选框上的javascript click事件导致未选中该复选框

来自分类Dev

选中click href和click复选框上的复选框

来自分类Dev

如何防止单击复选框的标签范围。仅在复选框上可单击

来自分类Dev

将列表中禁用复选框上方的启用复选框分组

来自分类Dev

如何在复选框上刷新绑定的DataGridView单击

来自分类Dev

React Redux在复选框上添加直通点击

来自分类Dev

复选框上的切换元素已选中

来自分类Dev

复选框上的onchange事件始终显示this.value = on

来自分类Dev

复选框上的suspendEvents不起作用

来自分类Dev

无法使用jQuery交换复选框上按钮的属性

来自分类Dev

在tr复选框上使用.not()的jQuery .on()tr单击事件?

来自分类Dev

在复选框上更改文本输入值

来自分类Dev

使用jQuery在复选框上显示/隐藏GridView的列

来自分类Dev

jQuery在复选框上添加/删除类

来自分类Dev

显示或隐藏WebGrid的“全部选中”复选框上的按钮

Related 相关文章

热门标签

归档