2
我剛剛意識到smartlock api不允許我在爲Android應用重構時將片段傳遞給ResolvingResultCallbacks對象。如何使用片段啓動Smartlock保存而不是使用活動
該API只允許我傳遞Activity作爲上下文,這意味着我需要處理Activity的onActivityResult()方法而不是Fragment的憑據結果。但在我們應用程序的當前設計中,我們希望片段處理智能鎖邏輯。
這裏是我的代碼保存:
Auth.CredentialsApi.save(mSmartLockApiClient, credential).setResultCallback(
new ResolvingResultCallbacks<Status>(mActivity, RC_CREDENTIALS_SAVE) {
@Override
public void onSuccess(Status status) {
mSmartLockSaveCallBack.onSuccess();
}
@Override
public void onUnresolvableFailure(Status status) {}
});
實際請求的憑據,我有同樣的問題,該API犯規提供一種方式來傳遞片段開始的分辨率。但我找到一個解決辦法:
if (status.hasResolution()) {
mFragment.startIntentSenderForResult(
status.getResolution().getIntentSender(),
RC_CREDENTIALS_READ,
null,
0,
0,
0,
null);
}
謝謝!它工作得很好。除非你錯過了mFragment.startIntentSenderForResult中的一些參數。 XD – Qing
感謝您告訴我,我現在糾正了它。 – iainmcgin