1. if(mTTLockAPI.isConnected(mKey.getLockMac())) {
    	// 如果当前处于连接状态,则直接发送重置锁指令
    	mTTLockAPI.resetLock(null, openid, curKey.getLockVersion(), curKey.getAdminPs(), curKey.getUnlockKey(), curKey.getLockFlagPos() + 1, curKey.getAesKeystr());
    } else {
    	// 主动连接锁 并设置操作标志
        mTTLockAPI.connect(mKey.getLockMac());
        bleSession.setOperation(Operation.RESET_LOCK);
        bleSession.setLockmac(mKey.getLockMac());
    }
    
    if(mTTLockAPI.isConnected(mKey.getLockMac())) {
    	// In connected state, call resetLock interface directly
    	mTTLockAPI.resetLock(null, openid, curKey.getLockVersion(), curKey.getAdminPs(), curKey.getUnlockKey(), curKey.getLockFlagPos() + 1, curKey.getAesKeystr());
    } else {
    	// Connect lock and set operate flag
        mTTLockAPI.connect(mKey.getLockMac());
        bleSession.setOperation(Operation.RESET_LOCK);
        bleSession.setLockmac(mKey.getLockMac());
    }
    

  2. @Override
    public void onDeviceConnected(ExtendedBluetoothDevice extendedBluetoothDevice) {
    	mTTLockAPI.resetLock(extendedBluetoothDevice, uid, curKey.getLockVersion(), curKey.getAdminPs(), curKey.getUnlockKey(), curKey.getLockFlagPos(), curKey.getAesKeystr());
    }
    

  3. {{getTexts.android.dellock.tip3}} https://api.sciener.com/v3/key/delete

    @Override
    public void onResetLock(ExtendedBluetoothDevice extendedBluetoothDevice, Error error) {
    	new AsyncTask<Void, String, String>() {
    		@Override
    		protected void onPostExecute(String msg) {
    	        super.onPostExecute(msg);
    			Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
    	        keys.remove(position);
    		}
    		
    	    @Override
    	    protected String doInBackground(Void... params) {
    	        //删除本地钥匙
    	        DbService.deleteKey(key);
    	        String json = ResponseService.deleteKey(key.getKeyId());
    	        String msg = "";
    	        try {
    	            JSONObject jsonObject = new JSONObject(json);
    	            if(jsonObject.getInt("errcode") == 0) {
    	                msg = getString(R.string.words_delete_ekey_successed);
    	            } else msg = jsonObject.getString("description");
    	        } catch (JSONException e) {
    	            e.printStackTrace();
    	        }
    	        return msg;
    	    }
    	}.execute();
    }
    @Override
    public void onResetLock(ExtendedBluetoothDevice extendedBluetoothDevice, Error error) {
    	new AsyncTask<Void, String, String>() {
    		@Override
    		protected void onPostExecute(String msg) {
    	        super.onPostExecute(msg);
    			Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
    	        keys.remove(position);
    		}
    		
    	    @Override
    	    protected String doInBackground(Void... params) {
    	        // delete local key
    	        DbService.deleteKey(key);
    	        String json = ResponseService.deleteKey(key.getKeyId());
    	        String msg = "";
    	        try {
    	            JSONObject jsonObject = new JSONObject(json);
    	            if(jsonObject.getInt("errcode") == 0) {
    	                msg = getString(R.string.words_delete_ekey_successed);
    	            } else msg = jsonObject.getString("description");
    	        } catch (JSONException e) {
    	            e.printStackTrace();
    	        }
    	        return msg;
    	    }
    	}.execute();
    }