我创建了一个登录页面,我需要将这些内容添加到我的密码中。如何使用验证警报消息执行此操作?
单击后台FCM 通知时是否可以导航到指定路径?
我创建了一个顶级函数并将其添加到导航器路径但它不起作用,当单击后台通知时,它只会打开应用程序
我想我发现了一个问题
现在,我将
fcm
配置从更改home page
为splash screen
. 前台没有导航到页面,我认为这是因为启动画面不再可用。当我点击通知消息时,它只会打开应用程序。
FCM 配置
onBackgroundMessage: backgroundMessageHandler
Run Code Online (Sandbox Code Playgroud)
顶层函数
Future<dynamic> backgroundMessageHandler(Map<String, dynamic> message) {
if (message.containsKey('data')) {
getIt<NavigationService>().navigateTo('/${message['data']['screen']}');
}
}
Run Code Online (Sandbox Code Playgroud)
有效载荷
const payload: admin.messaging.MessagingPayload = {
notification:{
title: `New Enquiry`,
body:`${customerName} published to ${subName}`,
badge: '1',
sound: 'default'
},
data: {
click_action: `FLUTTER_NOTIFICATION_CLICK`,
sound: `default`,
status: `chat`,
screen: `homePage`
}
}
Run Code Online (Sandbox Code Playgroud)
main.dart
GetIt getIt = GetIt.instance;
void main() {
setupLocator();
runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)
材料应用
return MaterialApp( …
Run Code Online (Sandbox Code Playgroud) 我尝试更新我的 firestore 数据库字段。
Future<void> approveJob(String categoryId) {
Run Code Online (Sandbox Code Playgroud)
数据库中的注释行已更新。但我硬编码了uid。没有商店可以获取uid吗?
//return _db.collection('jobs').document('25FgSmfySbhEPe1z539T').updateData({'isApproved':true});
return _db
.collection('jobs')
.where("categoryId", isEqualTo: categoryId)
.getDocuments()
.then((v) {
try{
v.documents[0].data.update('isApproved', (bool) => true,ifAbsent: ()=>true);
// No Errors. But not updating
}catch(e){
print(e);
}
});
}
Run Code Online (Sandbox Code Playgroud) 是否可以检查两个地图是否相等java equals
?
void main() {
Map map1 = {'size': 38, 'color': 'red'};
Map map2 = {'size': 38, 'color': 'red'};
if(map1== map2){//both keys and values
print('yes');
}else{
print('no');
}
}
Run Code Online (Sandbox Code Playgroud) 我添加了对话框,但底部溢出了。像这样的问题如何解决? 返回显示对话框
return showDialog(
// barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return Dialog(
//this right here
child: Theme(
data: ThemeData().copyWith(
inputDecorationTheme: InputDecorationTheme(
border: OutlineInputBorder(),
), ),
Run Code Online (Sandbox Code Playgroud)
孩子的容器
child: Container(
color: Colors.blueGrey[100],
height: MediaQuery.of(context).size.height / 2.5,
width: MediaQuery.of(context).size.width / 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Run Code Online (Sandbox Code Playgroud)
第一排
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Expanded(child: Text(AppTranslations.of(context).text("minimum_length")),),
Text(": 6")
],),
Run Code Online (Sandbox Code Playgroud)
其他行与第一行相同
灰色填充 允许的文本
Padding(
padding: const EdgeInsets.all(8.0),
child: SingleChildScrollView(
child: Row(
children: <Widget>[
Expanded(
child: Text(
AppTranslations.of(context).text("allowed_character"), …
Run Code Online (Sandbox Code Playgroud) dart flutter flutter-dependencies flutter-layout flutter-animation
我更新了提供者。现在它不工作
lib/di/global_providers.dart:13:6: 错误:找不到类型“SingleChildCloneableWidget”。列出 globalProviders = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:18:6: 错误:找不到类型“SingleChildCloneableWidget” . 列出独立服务 = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:23:6: 错误:找不到类型“SingleChildCloneableWidget” . ListdependentServices = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/main.dart:18:16: 错误:参数类型'List'可以' t 分配给参数类型“列表”。-“列表”来自“dart:core”。- 'SingleChildWidget' 来自 'package:nested/nested.dart' ('../../flutter/.pub-cache/hosted/pub.dartlang.org/nested-0.0.4/lib/nested.dart' )。提供者:全球提供者,^ lib/di/global_providers.dart:13:6: 错误:“SingleChildCloneableWidget”不是一种类型。列出 globalProviders = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:18:6: 错误:'SingleChildCloneableWidget' 不是一种。列出独立服务 = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:23:6: 错误:'SingleChildCloneableWidget' 不是一种。列出依赖服务 = [ SingleChildCloneableWidget' 不是一种类型。列出依赖服务 = [ SingleChildCloneableWidget' 不是一种类型。列出依赖服务 = [
代码
List<SingleChildCloneableWidget> globalProviders = [
...independentServices,
...dependentServices,
];
List<SingleChildCloneableWidget> independentServices = [
Provider.value(value: YelloChatDb()),
Provider.value(value: YelloChatClient()),
];
List<SingleChildCloneableWidget> dependentServices = [
ProxyProvider<YelloChatDb, CategoryDao>(
update: (context, …
Run Code Online (Sandbox Code Playgroud) 我尝试添加文本编辑格式选项,就像在 Gmail 应用程序中一样。但是当突出显示文本时,没有格式选项。是否可以处理选择警报?(复制/剪切/粘贴)。或者有没有办法像gmail一样添加格式栏?
TextField(
controller: _categoryController,
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Enter Category Name",
),
),
Run Code Online (Sandbox Code Playgroud)
我添加了屏幕截图和 gif 文件以更好地理解我的问题。
在我的 Flutter 应用程序上选择选项
在 Gmail 应用程序上选择选项
是否有可能获得 Flutter 方面的风味名称?适用于 android 和 ios
构建.gradle
flavorDimensions "app"
productFlavors {
dev {
dimension "app"
versionCode 2
versionName "1.0.0"
}
qa {
dimension "app"
applicationId "com.demo.qa"
versionCode 3
versionName "1.0.2"
}
}
Run Code Online (Sandbox Code Playgroud) 我尝试实现这样的组通知android group notification和ios group notification。但我做不到。我也试过这个flutter_local_notification插件。但这仅在应用程序打开时有效。不在前台(onResume)和后台工作。
void registerNotification() {
_fcm.configure(
onMessage: (Map<String, dynamic> message) {
return;
},
onResume: (Map<String, dynamic> message) {
return;
},
onLaunch: (Map<String, dynamic> message) {
return;
},
onBackgroundMessage: backgroundMessageHandler);
}
Run Code Online (Sandbox Code Playgroud)
有效载荷
const payload = {
notification: {
title: title,
body: message,
},
data: {
click_action: "FLUTTER_NOTIFICATION_CLICK",
sound: "default"
},
android: {
priority: "high",
collapse_key: userName,//tried to add collapse_key for group notification
},
apns: {
headers: {
"apns-priority": "5",
},
},
token:token, …
Run Code Online (Sandbox Code Playgroud)