###前提・実現したいこと
バックグラウンド(service)でタップログを検出したい
###発生している問題・エラーメッセージ
タップしてもログが出力されません…
###該当のソースコード
Java
1import android.app.Service; 2import android.content.Context; 3import android.content.Intent; 4import android.graphics.PixelFormat; 5import android.os.IBinder; 6import android.support.annotation.Nullable; 7import android.util.Log; 8import android.view.MotionEvent; 9import android.view.View; 10import android.view.WindowManager; 11import android.widget.TextView; 12 13 14public class MainService extends Service implements View.OnTouchListener { 15 private static final String TAG = "Hello"; 16 private final boolean FLAG = true; 17 private static final int TAP_COUNT = 10; 18 private View mView; 19 private long[] mTimestamp = new long[TAP_COUNT]; 20 int count = 0; 21 TextView txtMessage1; 22 23 24 @Nullable 25 @Override 26 public IBinder onBind(Intent intent) { 27 return null; 28 } 29 30 @Override 31 public int onStartCommand(Intent intent, int flags, int startId) { 32 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 33 34 WindowManager.LayoutParams params = new WindowManager.LayoutParams( 35 0, 36 0, 37 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, 38 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE 39 | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, 40 PixelFormat.OPAQUE); 41 42 mView = new View(this); 43 mView.setOnTouchListener(this); 44 45 wm.addView(mView, params); 46 47 48 txtMessage1 = new TextView(this); 49 wm.addView(txtMessage1, params); 50 51 52 return START_STICKY; 53 } 54 55 @Override 56 public void onDestroy() { 57 super.onDestroy(); 58 59 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 60 wm.removeView(mView); 61 mView = null; 62 } 63 64 @Override 65 public boolean onTouch(View v, MotionEvent event) { 66 switch (event.getAction() & MotionEvent.ACTION_MASK) { 67 case MotionEvent.ACTION_DOWN: 68 Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY()); 69 break; 70 case MotionEvent.ACTION_UP: 71 Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY()); 72 break; 73 } 74 return true; 75 } 76}
###補足情報(言語/FW/ツール等のバージョンなど)
Android Studio 2.3.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。