diff --git a/packages/phone_log/android/src/main/java/com/jiajiabingcheng/phonelog/PhoneLogPlugin.java b/packages/phone_log/android/src/main/java/com/jiajiabingcheng/phonelog/PhoneLogPlugin.java index c93fc34..92f7d83 100644 --- a/packages/phone_log/android/src/main/java/com/jiajiabingcheng/phonelog/PhoneLogPlugin.java +++ b/packages/phone_log/android/src/main/java/com/jiajiabingcheng/phonelog/PhoneLogPlugin.java @@ -55,7 +55,11 @@ public void onMethodCall(MethodCall call, Result result) { case "getPhoneLogs": String startDate = call.argument("startDate"); String duration = call.argument("duration"); - fetchCallRecords(startDate, duration); + if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M) { + noAuthFetchCallRecords(startDate, duration); + } else { + fetchCallRecords(startDate, duration); + } break; default: result.notImplemented(); @@ -102,10 +106,7 @@ public boolean onRequestPermissionsResult(int requestCode, String[] strings, int CallLog.Calls.DURATION, }; - @TargetApi(Build.VERSION_CODES.M) - private void fetchCallRecords(String startDate, String duration) { - if (registrar.activity().checkSelfPermission(Manifest.permission.READ_CALL_LOG) - == PackageManager.PERMISSION_GRANTED) { + private void noAuthFetchCallRecords(String startDate, String duration) { String selectionCondition = null; if (startDate != null) { selectionCondition = CallLog.Calls.DATE + "> " + startDate; @@ -142,7 +143,13 @@ private void fetchCallRecords(String startDate, String duration) { cursor.close(); } } + } + @TargetApi(Build.VERSION_CODES.M) + private void fetchCallRecords(String startDate, String duration) { + if (registrar.activity().checkSelfPermission(Manifest.permission.READ_CALL_LOG) + == PackageManager.PERMISSION_GRANTED) { + noAuthFetchCallRecords(startDate, duration); } else { pendingResult.error("PhoneLog", "Permission is not granted", null); pendingResult = null;