对用户触摸的触觉反馈 proximity/location

Haptic feedback proximity/location to user touch

android 触觉反馈是否允许振动专门发生在用户触摸的区域?例如,如果 activity 上有北、南、东和西四个按钮,您能否让振动感觉就像在每个按钮的位置直接指向用户的手指一样?下面的代码是一个在按下按钮时产生振动的示例,但是几乎不可能判断这种情况是否发生在设备的特定区域。如果有办法在特定区域振动设备(也许可以在设备特定坐标上完成?),将如何实现?

public class Haptics extends Activity implements OnClickListener {

    private View myView;
    private Vibrator myVib;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_haptics);
        myVib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE);
        myView = (View) this.findViewById(R.id.northButton);
        myView.setOnClickListener(this);

        myView = (View) this.findViewById(R.id.eastButton);
        myView.setOnClickListener(this);

        myView = (View) this.findViewById(R.id.southButton);
        myView.setOnClickListener(this);

        myView = (View) this.findViewById(R.id.westButton);
        myView.setOnClickListener(this);
    }

    @Override
    public void onClick(View v)
    {
        myVib.vibrate(50);
    }
}

据我所知,振动是整个物理设备都会发生的事情。我不知道可以将其本地化的设备。如果是这样,它将是一个非常具体的设备供应商。

触摸屏的工作原理与振动机制截然不同。您可以查明 touch/tap 等的来源。但振动无法以这种方式工作。

您可以使用一个不错的库来实现各种触觉(振动)效果,这样每个按钮都可以启动不同的效果。

免费试用:Immersion Haptic SDK