【发布时间】:2017-09-22 11:45:52
【问题描述】:
我有一个使用 Xamarin.Forms 版本 2.3.4.270 的基于 PCL 的 Xamarin Forms 解决方案。
在 Visual Studio 2017 中构建 Xamarin android 项目时,在 android 项目的自动生成的“...\obj\Debug\android\AndroidManifest.xml”文件中添加了一个神秘的活动,导致两个应用程序图标在手机上运行应用程序时部署:
<activity android:name="md54d0b3c92dfecf2a187a4c8b660786aba.MainActivityForCodeAnalysisBugWorkaroundPleaseIgnore">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我确保整个解决方案中的所有项目都没有标记为“在构建时启用代码分析”,并且我只有一个带有“MainLauncher = true”的主要活动...
启动第一个应用程序图标时,仅显示一个空白的空视图。启动第二个应用图标时,启动真正的应用。
我怎样才能去掉安卓上的附加应用图标?
编辑: 这是 MainActivity:
[Activity(Label = "@string/app_name", Theme = "@style/MyTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
这是带有MainLauncher=true的SplashScreen-Activity:
[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)]
public class SplashActivity : AppCompatActivity
我已经在其他各种 xamarin.forms 应用程序中使用了这种方法,还没有出现任何问题。
这是清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="@string/package_name" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:label="@string/app_name" android:icon="@drawable/icon"></application>
</manifest>
【问题讨论】:
-
请将您的
Mainactivity代码发布在您的MainLauncher = true以及您的AndroidManifest.xml代码所在的位置。 -
这是否可能以某种方式反映了这个问题? bugzilla.xamarin.com/show_bug.cgi?id=43553
标签: xamarin xamarin.forms xamarin.android