Мне известно, что этот вопрос задавался несколько раз, и я попробовал то, что было предложено, то есть разместил «возврат» в нужных местах. Я также следовал инструкциям в своей консоли и пытался добавить пустой контейнер, но в результате мой экран становится черным. Итак, вот мой код:
class SettingsPage extends StatefulWidget {
@override
_SettingsPageState createState() => _SettingsPageState();
}
class _SettingsPageState extends State<SettingsPage> {
@override
Widget build(BuildContext context) {
bool isSystemSelected;
final stream = AllowedCallInheritedWidget.of(context).allowedCallStream;
return StreamBuilder<String>(
stream: stream,
builder: (context, snapshot) {
if (snapshot.data.toString().contains('PRIORITY_SENDERS_CONTACTS')) {
isSystemSelected = true;
return AlertDialog(
backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
title: Text(snapshot.data),
);
} else if (snapshot.data
.toString()
.contains('PRIORITY_SENDERS_STARRED')) {
isSystemSelected = true;
return AlertDialog(
backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
title: Text(snapshot.data),
);
} else if (snapshot.data.toString().contains('PRIORITY_SENDERS_ANY')) {
isSystemSelected = true;
return AlertDialog(
backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
title: Text(snapshot.data),
);
}
},
);
}
}
То, что я пытаюсь сделать, это обновить изменения системы Android в режиме реального времени. Спасибо за любую помощь!
Редактировать: я должен добавить, что "Виджет-нарушитель: StreamBuilder"