デバイスが入力用のスタイラスをサポートしている場合にのみ、メニュー項目を表示したいと考えています。
残念ながら、デバイスまたはディスプレイが入力用のスタイラス/Spen をサポートしているかどうかを確認するものは何も見つかりませんでした。
編集: event.getToolType() を使用して MotionEvent がトリガーされた後、Stylus と Finger を区別できます。ツールタイプが TOOL_TYPE_STYLUS の場合、スタイラスをサポートしていることを確認できます。そうでない場合は、圧力 > 0 があるかどうかを推測できます ( Android デバイスで画面が容量性か抵抗性かを検出する方法に関連していますか? )
しかし、私は自分のアクティビティの onCreate メソッドでそれを知りたいです。
以下はどういうわけかサポートされておらず、私にとってはうまくいきません。
Configuration config = getResources().getConfiguration();
if (config.touchscreen == Configuration.TOUCHSCREEN_STYLUS)
Toast.makeText(this, "TOUCHSCREEN_STYLUS", Toast.LENGTH_SHORT).show();