MyApp() class 中定义的访问函数 - Flutter
Access function defined in MyApp() class - Flutter
我想从另一个 class 访问我的顶级 class 中定义的函数。我该怎么做?
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp>
{
void startListeningNotifications()
{
//start listening to fcm messages
}
void initState()
{
super.initState();
startListeningNotifications();
}
}
我想从另一个 class 调用此函数 startListeningNotifications()。这可能吗?
我已经在 initState() 中调用了这个函数,但在某些情况下我需要从其他 class 中调用它。例如,如果用户尚未注册您的 Firebase 应用程序,那么在注册过程之后,我需要访问此方法才能开始收听 fcm 通知。
您可以在不同的文件中定义 startListeningNotifications()
,将其导入您需要的任何页面并在那里调用它。
// create lib/_utils/fcm_utils.dart
void startListeningNotifications() {
// your function
}
...
// main.dart or any page you want to call your functions from
// TODO: replace yourAppName below with your app name
import 'package:yourAppName/_utils/fcm_utils.dart';
...
void initState() {
super.initState();
startListeningNotifications();
}
我想从另一个 class 访问我的顶级 class 中定义的函数。我该怎么做?
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp>
{
void startListeningNotifications()
{
//start listening to fcm messages
}
void initState()
{
super.initState();
startListeningNotifications();
}
}
我想从另一个 class 调用此函数 startListeningNotifications()。这可能吗?
我已经在 initState() 中调用了这个函数,但在某些情况下我需要从其他 class 中调用它。例如,如果用户尚未注册您的 Firebase 应用程序,那么在注册过程之后,我需要访问此方法才能开始收听 fcm 通知。
您可以在不同的文件中定义 startListeningNotifications()
,将其导入您需要的任何页面并在那里调用它。
// create lib/_utils/fcm_utils.dart
void startListeningNotifications() {
// your function
}
...
// main.dart or any page you want to call your functions from
// TODO: replace yourAppName below with your app name
import 'package:yourAppName/_utils/fcm_utils.dart';
...
void initState() {
super.initState();
startListeningNotifications();
}