Androidアプリでは基本機能は正常に動作しますが、ドキュメントに記載されている「SMSピンの自動読み取り」機能は機能していません。
質問する
239 次
2 に答える
2
まず、マニフェスト ファイルに SMS アクセス許可を追加します。
<uses-permission android:name="android.permission.RECEIVE_SMS" />
次に、Login または Use my phone number アクティビティの時点で実行時のアクセス許可を宣言します。このメソッドを LoginActivity.class に追加します。
public static class UtilitiesPhone {
public static final int MY_PERMISSIONS_REQUEST_READ_PHONE_STATE = 130;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static boolean checkPermission(final Context context) {
int currentAPIVersion = Build.VERSION.SDK_INT;
if(currentAPIVersion>=android.os.Build.VERSION_CODES.M) {
int permissionPHONE = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE);
int permissionSMS = ContextCompat.checkSelfPermission(context, Manifest.permission.SEND_SMS);
List<String> listPermissionsNeeded = new ArrayList<>();
if (permissionPHONE != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(Manifest.permission.READ_PHONE_STATE);
}
if (permissionSMS != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(Manifest.permission.SEND_SMS);
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions((Activity) context,
listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), MY_PERMISSIONS_REQUEST_READ_PHONE_STATE);
return false;
}
}else{
return true;
}
return true;
}
}
onCreate でこれを宣言します
final boolean result= LoginActivity.UtilitiesPhone.checkPermission(this);
そして完了。これで、自動入力が魅力的に機能します。
電話状態の許可を保持するか、単に削除するかを選択できることに注意してください。
于 2017-04-04T16:33:02.590 に答える