我已经成功实现了 Azure Function,它向 Android、iOS 和 UWP 的 NotificationHub 发送推送通知。在测试过程中,我发现当 Android 设备处于 Doze 模式时,锁定屏幕上不会发送推送通知。只有在我解锁手机时才会交付。
我发现了这个 stackoverflow 帖子,它帮助我使用方法SendFcmNativeNotificationAsync修复它。我使用了这个代码:
string payload = @"{
""data"":{
""notificationtype"":""sap"",
""title"":""value2"",
},
""priority"":""high""
}";
await hub.SendFcmNativeNotificationAsync(payload);
Run Code Online (Sandbox Code Playgroud)
然而,我使用SendNotificationAsync方法的实现适用于所有 3 个平台,但不适用于打盹模式。这是我发送通知的代码:
Dictionary<string, string> templateParameters = new Dictionary<string, string>();
templateParameters["alert"] = "Test";
templateParameters["title"] = "Whosap";
var notification = new TemplateNotification(templateParameters);
await hub.SendNotificationAsync(notification);
Run Code Online (Sandbox Code Playgroud)
我试图设置通知标题:
var headers = new Dictionary<string, string> { { "android", @"{""priority"": ""high""}" } };
notification.Headers = headers;
Run Code Online (Sandbox Code Playgroud)
但这没有用。有人知道如何在 TemplateNotification 对象中设置优先级并使用 SendNotificationAsync 方法发送它吗?
这就是我强制/取消强制设备进入打盹模式的方式: …
我的目标是实施一套 lint 规则。在分析器中设置为错误的规则,因此在 Dart Analysis 中被评估为错误,必须阻止应用程序构建。
我在analysis_options.yaml中实现了很多lint规则:
analyzer:
errors:
always_use_package_imports: error
avoid_empty_else: error
...
linter:
rules:
always_use_package_imports: true
avoid_empty_else: true
...
Run Code Online (Sandbox Code Playgroud)
每当不遵循这些规则之一时,Dart Analysis 就会正确地将其显示为错误。一旦触发新的构建,它就会成功构建。在这种特殊情况下,我的目的是阻止 ios 或 android 成功构建。
我尝试添加此 app/build.gradle 文件,但没有成功。
android {
lintOptions {
abortOnError true
}
}
Run Code Online (Sandbox Code Playgroud)
有其他方法可以解决 Android 或 iOS 的此问题吗?
我使用库react-native-app-intro-slider
\n\n我制作了自定义 renderPagination,但无法在库中使用 goToSlide 方法。
\n\n我已经尝试过自定义分页登录注册按钮,但我也无法使用。
\n\n这是我的代码:
\n\nconst _renderPagination = (activeIndex) => {\nreturn (\n <View style={style.paginationContainer}>\n <SafeAreaView>\n <View style={style.paginationDots}>\n {slides.length > 1 &&\n slides.map((_, i) => (\n <TouchableOpacity\n key={i}\n style={[\n style.dot,\n i === activeIndex\n ? {backgroundColor: '#9948fc'}\n : {backgroundColor: 'rgba(0, 0, 0, .2)'},\n ]}\n onPress={() => goToSlide(activeIndex, true)} //Error\n />\n ))}\n </View>\n {activeIndex === slides.length - 1 ? (\n <View>\n <TouchableOpacity\n style={[style.button, {backgroundColor: '#9948fc'}]}\n onPress={() => navigation.navigate('signup')}\n >\n <Text style={style.buttonText}>\xed\x9a\x8c\xec\x9b\x90\xea\xb0\x80\xec\x9e\x85</Text>\n </TouchableOpacity>\n <TouchableOpacity\n style={[style.button, {backgroundColor: 'transparent'}]}\n onPress={()=> …
Run Code Online (Sandbox Code Playgroud)