我已经可以显示本地通知,但是在通知下方是否可以显示按钮?
(请参阅所附图片中的“延后”和“关闭”按钮)。

我正在使用图像选择器插件来选择图像。我想在选取图像后立即导航到新屏幕,但它不起作用。我收到一条错误,指出当前小部件树中不存在上下文。
下面是我的代码。
pickImage(BuildContext context) async {
File pickedImage = await ImagePicker.pickImage(source: ImageSource.camera);
if (pickedImage != null) {
print(pickedImage.path);
if (this.mounted) {
await Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => ViewStory(
localImagePath: pickedImage.path,
),
),
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
像这样调用该函数:
IconButton(
onPressed: () => pickImage(context),
icon: Icon(
Icons.camera_alt,
color: CustomColors.primary,
size: 100,
),
),
Run Code Online (Sandbox Code Playgroud)
以下是我收到的错误:
FlutterError(查找已停用的小部件的祖先是不安全的。此时小部件的元素树的状态不再稳定。要在其 dispose() 方法中安全地引用小部件的祖先,请通过调用inheritFromWidgetOfExactType(保存对祖先的引用) )在小部件的 didChangeDependency() 方法中。)
我是新来的人.我试图让StorageUploadTask状态,当状态有下载isCompleted&isSuccessful.我在网上找到的例子是旧版本:
StorageUploadTask uploadTask = ref.putFile(avatarImageFile);
Uri downloadUrl = (await uploadTask.future).downloadUrl;
Run Code Online (Sandbox Code Playgroud)
以上内容不适用于新的firebase_storage插件版本.请帮忙.以下是我的代码.
StorageUploadTask uploadTask = ref.putFile(avatarImageFile);
StorageReference downRef = uploadTask.lastSnapshot.ref;
String downloadUrl = await downRef.getDownloadURL();
if(uploadTask.isComplete) {
if(uploadTask.isSuccessful) {
print('Upload Successful');
} else if(uploadTask.isCanceled) {
print('Upload Cancelled');
} else {
print('${uploadTask.lastSnapshot.error}');
}
} else if(uploadTask.isInProgress){
print('Upload in Progress');
} else if(uploadTask.isPaused) {
print('Upload Paused');
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个 Listview 构建器buildChatList作为我的 itembuilder传递,但我注意到buildChatList当我热重启或重建应用程序时没有返回任何内容,但当我热重载时实际上返回了预期的数据。我不明白为什么会这样。我需要帮助。
以下是我到目前为止的代码。
buildChatList(BuildContext context, int index) {
Map<String, dynamic> userDocumentt;
print('INDEX $index COUNT $currentUserActiveChatsLength');
String thisUserID = currentUserActiveChats[index];
if (user.uid.hashCode <= thisUserID.hashCode) {
groupChatId = '$_cuserID-$thisUserID';
} else {
groupChatId = '$thisUserID-$_cuserID';
}
Stream<QuerySnapshot> unreadMessages = Firestore.instance
.collection('messages')
.where("chatDetails.to", isEqualTo: user.uid)
.where("chatDetails.sender", isEqualTo: thisUserID)
.where("chatDetails.hasRead", isEqualTo: false)
.snapshots();
unreadMessages.listen((QuerySnapshot data) {
unReadMessageLength = data.documents.length;
});
Stream<QuerySnapshot> lastMess = Firestore.instance
.collection('messages')
.where('groupChatId', isEqualTo: groupChatId)
.orderBy('chatDetails.timestamp', descending: true)
.limit(1)
.snapshots();
lastMess.listen((QuerySnapshot data) {
List<DocumentSnapshot> userLastMess …Run Code Online (Sandbox Code Playgroud) 我正在开发一个 flutter 应用程序,它允许用户设置他们选择的背景图片并“永久保留直到用户更改它”。
使用 Image.file(pickedImage) 是暂时的,如果用户离开页面,并返回图像将被关闭。
我已经实现了图像选择器,并尝试将图像文件存储在共享首选项中,但我错了 ImagePicker 返回图像文件而不是图像文件路径。
如何获取选择的图像文件路径并将其用作背景?
android uiimagepickercontroller sharedpreferences dart flutter
我想在某个字符长度后将省略号添加到字符串中,如果字符串长度不超过字符预设的字符长度,则不应添加省略号(...)。
如何在Dart语言中实现?