public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private GestureLibrary library; private Gesture mgesture; private GestureOverlayView overlayView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); library = GestureLibraries.fromRawResource(this, R.raw.gestures);//通过raw下的静态文件构建手势库对象 library.load();//注意:很重要,必须有 overlayView = (GestureOverlayView) this.findViewById(R.id.gestures); //只针对单笔手势:overlayView.addOnGesturePerformedListener(new GesturePerformedListener()); //下面是处理多笔手势的方法 overlayView.addOnGestureListener(new GestureListener()); } public void find(View v){ recognize(mgesture); overlayView.clear(true); } ///处理多笔手势 private final class GestureListener implements OnGestureListener{ public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) { Log.i(TAG, "onGestureStarted()"); } public void onGesture(GestureOverlayView overlay, MotionEvent event) { Log.i(TAG, "onGesture()"); } public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) { Log.i(TAG, "onGestureEnded()"); mgesture = overlay.getGesture();//获取多笔手势,并存储 } public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) { Log.i(TAG, "onGestureCancelled()"); } } //处理单笔手势 private final class GesturePerformedListener implements OnGesturePerformedListener{ public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { recognize(gesture); } } private void recognize(Gesture gesture) { ArrayList<Prediction> predictions = library.recognize(gesture); if(!predictions.isEmpty()){ Prediction prediction = predictions.get(0); if(prediction.score >= 6){ if("zhangxx".equals(prediction.name)){ Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:1350505050")); startActivity(intent); }else if("close".equals(prediction.name)){ finish();//关闭Activity } }else{ Toast.makeText(getApplicationContext(), R.string.low, 1).show(); } }else{ Toast.makeText(getApplicationContext(), R.string.notfind, 1).show(); } } @Override protected void onDestroy() { super.onDestroy(); android.os.Process.killProcess(android.os.Process.myPid());//关闭应用 } }