'_Smi' не является подтипом типа 'bool' - Flutter MethodChannel - PullRequest
0 голосов
/ 07 июня 2018

Получение этой странной ошибки.Похоже, MethodChannel конвертирует в int вместо bool?

06-07 00:16:26.589  3678  4993 E flutter : [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
06-07 00:16:26.589  3678  4993 E flutter : type '_Smi' is not a subtype of type 'bool' where
06-07 00:16:26.589  3678  4993 E flutter :   _Smi is from dart:core
06-07 00:16:26.589  3678  4993 E flutter :   bool is from dart:core
06-07 00:16:26.589  3678  4993 E flutter :
06-07 00:16:26.589  3678  4993 E flutter : #0  ...

Соответствующий код:

//the line in question
bool permission = await platform.invokeMethod("askStoragePermission"); 

//the following is the native kotlin that is called.
//The device previously had received permission so it should be going to 
//the 'else' section (and no permission request dialogue appeared)
"askStoragePermission" -> {
  if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE), 35)
    currentResult = result
  } else {
    result.success(true)
  }
}

Не знаю, что может быть причиной этого.Кажется, что он работает в режиме отладки в эмуляторе (эта ошибка - выпуск apk на реальном устройстве).

1 Ответ

0 голосов
/ 07 июня 2018

Запуск flutter clean, кажется, исправил это.Обязательно делайте это перед каждой сборкой релиза, наверное!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...