有人可以帮助我吗?
当我通过推送通知打开我的应用程序时,它会在最近的应用程序列表中重复。发生的事情是这样的:
我尝试过使用标准、singleTop、singleTask 和 singleInstance 启动模式,但都没有解决问题。
关于如何防止 Flutter 中出现这种重复,有什么建议吗?
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:label="Жеке Кабинет Дордой"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleInstance"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>
我尝试在AndroidManifest.xml中使用不同的启动模式,包括standard、singleTop、singleTask和singleInstance。但是,这些模式都无法阻止应用程序在通过推送通知重新打开后在最近的应用程序列表中出现两次。
我预计该应用程序只会在最近的应用程序列表中出现一次,无论它如何重新打开,无论是通过推送通知还是直接从主屏幕打开。具体来说,我希望设置适当的启动模式将确保应用程序恢复现有实例而不是创建重复实例。
您可能需要检查或更改点击通知时启动 Activity 的代码(Android 代码,而不是 Flutter 代码),因为用于启动的 Intent 标志会覆盖清单设置。