Home > android, プログラム > Androidのライブ壁紙のタッチイベント

Androidのライブ壁紙のタッチイベント

4月 30th, 2010

public void onTouchEvent(MotionEvent event)
でタッチを拾うと、Homeのメニューを開くボタンや、
そのメニューのアイコンをクリックしたときなどにもタッチを拾ってしまう。

そこで、

http://developer.android.com/intl/ja/resources/articles/live-wallpapers.html

にも載っているが、onCommandを書き、
setTouchEventsEnabled(false);
を入れonTouchEventへ渡らないようにすることで、
壁紙へのタッチのみを拾うことが出来るようになる。

@Override
public Bundle onCommand(String action, int x, int y, int z,
Bundle extras, boolean resultRequested) {
if (“android.wallpaper.tap”.equals(action)) {
//action
}

return super.onCommand(action, x, y, z, extras, resultRequested);
}

ただ、なぜかエミュレーターでは動作せず、実機(Desire)では動作するという、
変な状況になってしまっている。

kuni android, プログラム

  1. No comments yet.
  1. No trackbacks yet.