2

我有一个屏幕,用户在其中创建手势,然后用户按 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 中,然后我尝试在确认屏幕中再次访问它,如果确认手势足够相似,吐司应该返回“手势密码”。但这由于某种原因不起作用,我错过了什么?我是否错误地存储和检索手势?

4

0 回答 0