我有一个用户创建手势的屏幕,然后用户按下Next,在Next屏幕上,它要求用户确认该手势。基本上我希望手势存储为密码。手势创建工作正常,我有以下代码行将手势存储在设备的内存中:
GestureLibrary store = GestureLibraries.fromRawResource(this, R.raw.gestures);;
store.addGesture("Gesture Password", mGesture);
store.save();
setResult(RESULT_OK);
我仍然在弄乱如何识别手势但是现在我只想弄清楚如何在内存中与这个存储的手势进行比较。我有以下内容:
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = gestureLib.recognize(gesture);
for (Prediction prediction : predictions) {
if (prediction.score > 1.0) {
Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
}
}
}
其中:
private GestureLibrary gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
据我所知,在第一个屏幕上我创建了手势,它存储在raw.gestures中,然后我尝试在确认屏幕中再次访问它,如果确认手势足够相似,吐司应返回“手势密码” 。但是由于某些原因这不起作用,我错过了什么?我是否错误地存储和检索手势?