将意图类型添加到 android Flutter 清单会导致主屏幕中缺少应用程序图标

Posted

技术标签:

【中文标题】将意图类型添加到 android Flutter 清单会导致主屏幕中缺少应用程序图标【英文标题】:Adding intent type to android flutter manifest leads to missing app icon in home screen 【发布时间】:2020-10-20 19:45:30 【问题描述】:

我按照这里提到的示例代码android intents flutter 它运行成功,但导致 Android 主屏幕中的应用程序图标丢失。 另外,我注意到应用程序图标取决于清单文件中的以下行。

<data android:mimeType="text/plain" />

删除上述行会使应用程序图标在主屏幕上可用。但 android 意图功能不起作用。 我不知道为什么会这样。 这是清单文件的一部分。

<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="flutterappjava"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        .................
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>

【问题讨论】:

【参考方案1】:

我找到了一个解决方案,我希望这是一个好的解决方案。 我将 action.send 意图分离到不同的 java 文件,并将其分配给清单文件中的不同活动。

<application
android:name="io.flutter.app.FlutterApplication"
android:label="flutterappjava"
android:icon="@mipmap/ic_launcher">
<activity
    android:name=".MainActivity"
    android:launchMode="singleTop"
    android:theme="@style/LaunchTheme"
    .................
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
 <activity android:name=".tempAct">
 <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="text/plain" />
 </intent-filter>
  </activity>
</activity>

【讨论】:

但颤动是一个单一的活动

以上是关于将意图类型添加到 android Flutter 清单会导致主屏幕中缺少应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

如何将protobuf添加到flutter/kotlin android项目中

使用android意图将带有图像的文本共享到instagram

Flutter:如何将原生 SDK(Spotify Android SDK)添加到应用程序中?

通过 Android 中的意图限制可选择的文件类型

通过 Android 中的意图限制可选择的文件类型

Android Flutter:手把手教你使用所有常见Widget