我在将 targetSDK 升级到 31 (Android 12) 时遇到这个问题
我正在使用React Native,一个名为react-native-sms-retriver的包在PhoneNumberHelper.java
中使用了一个PendingIntent final GoogleApiClient googleApiClient = getGoogleApiClient(context);
final PendingIntent intent = Auth.CredentialsApi
.getHintPickerIntent(googleApiClient, request);
try {
activity.startIntentSenderForResult(intent.getIntentSender(),
REQUEST_PHONE_NUMBER_REQUEST_CODE, null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
promiseReject(SEND_INTENT_ERROR_TYPE, SEND_INTENT_ERROR_MESSAGE);
callAndResetListener();
} finally {
if (googleApiClient.isConnected()) {
googleApiClient.disconnect();
}
}
我该如何解决这个问题?
我已经尝试过以下方法,但没有成功
implementation 'androidx.work:work-runtime:2.7.1'
中添加
android/build.gragle
implementation 'com.google.android.gms:play-services-base:18.1.0' implementation 'com.google.android.gms:play-services-basement:18.1.0'
我在类似的问题中看到了以下代码,但不确定如何在我的案例中使用它
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
return PendingIntent.getActivity(context, id, intent, PendingIntent.FLAG_IMMUTABLE | flag);
} else {
return PendingIntent.getActivity(context, id, intent, flag);
}
我不知道如何使用它,因为包代码中没有
PendingIntent.getActivity()
。
该问题是因为身份验证库没有最新的 SDK 版本 (31) 要求。我遇到了类似的问题,在构建 Gradle 中更新最新的身份验证库后它得到了修复。
将您的auth库版本更新到20.7.0或更高版本:
implementation "com.google.android.gms:play-services-auth:20.7.0"