smartlock API가 Outroid App 용 리팩토링을 수행 할 때 ResolvingResultCallbacks 객체에 Fragment를 전달할 수 없다는 것을 알았습니다.액티비티 대신 스마트 키 저장을 시작하기 위해 조각을 사용하는 방법
API를 사용하면 Activity를 컨텍스트로 전달할 수 있습니다. 즉, Fragment 's 대신 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