xamarin android app在多任务处理后崩溃

时间:2018-04-03 12:56:22

标签: c# xamarin.android

我已经完成了我的第一个xamarin android移动应用程序。一切正常。我只有一个问题,我无法解决,我找不到使用谷歌的解决方案。

当我启动我的应用程序时,一切都很好但是当我按下主页按钮,打开和关闭其他几个应用程序并回到应用程序时它会崩溃。此外,当我打开应用程序并关闭我的屏幕,然后我将其重新打开并返回应用程序它刷新。

除此之外,一切都很好,没有崩溃。 这种崩溃发生在仿真器和物理设备上。

我在模拟器上发生的错误是:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.name.appname/com.name.android.publish.OverlayActivity}; have you declared this activity in your AndroidManifest.xml?

如果可能,如何解决这个问题?

编辑: AndoirdManifest.xml文件如下所示:

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.name.tournamentorganizer" android:installLocation="auto" android:versionName="1.1" android:versionCode="2">
  <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="27" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <application android:allowBackup="true" android:label="@string/app_name" android:icon="@drawable/icon11" android:name="android.app.Application" android:debuggable="true">
    <activity android:label="Create new tournament" android:theme="@android:style/Theme.Material.Light" android:name="md57e31db4bba5ea713128b60ee6f3868c2.createNewTournament" />
    <activity android:label="Tournament Organizer" android:theme="@android:style/Theme.Material.Light" android:name="md57e31db4bba5ea713128b60ee6f3868c2.MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity android:label="Add new players" android:theme="@android:style/Theme.Material.Light" android:name="md5a2089f5b800658a06dd2a11fca5a1f83.addNewPlayers" />
    <activity android:label="addGoalScorer" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.addGoalScorer" />
    <activity android:label="All fixtures and results" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.allFixturesAndResults" />
    <activity android:label="Players database" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.allPlayersActivity" />
    <activity android:label="knockout4Players" android:name="md54d075dbf8b437fae408fa9e57e2203ba.knockout4Players" />
    <activity android:label="League" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.leagueType" />
    <activity android:label="My tournaments" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.myTournaments" />
    <activity android:label="About" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.settings" />
    <activity android:label="Player Info" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.stats" />
    <activity android:label="table" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.table" />
    <activity android:label="Top scorers" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.topScorerActivity" />
    <activity android:label="Winners" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.winnersActivity" />
    <activity android:label="winnersAllTimeActivity" android:theme="@android:style/Theme.Material.Light" android:name="md54d075dbf8b437fae408fa9e57e2203ba.winnersAllTimeActivity" />
    <provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="com.name.tournamentorganizer.mono.MonoRuntimeProvider.__mono_init__" />
    <!--suppress ExportedReceiver-->
    <receiver android:name="mono.android.Seppuku">
      <intent-filter>
        <action android:name="mono.android.intent.action.SEPPUKU" />
        <category android:name="mono.android.intent.category.SEPPUKU.com.name.tournamentorganizer" />
      </intent-filter>
    </receiver>
    <meta-data android:name="android.support.VERSION" android:value="25.4.0" />
  </application>
</manifest> 

EDIT2:

我有包含和不包含广告的应用版本。没有广告的那个没有这个问题。有广告的那个确实有问题所以广告在某种程度上是问题。我正在使用startapp广告。

2 个答案:

答案 0 :(得分:0)

您可能不会使用[Activity]代码装饰

[Activity]
internal class YourActivity: Activity {}

答案 1 :(得分:0)

如果你的所有活动都有

[Activity(Theme = "theme", Label = "name", MainLauncher = true)]

将MainLauncher参数设置为true,您将遇到麻烦。

Xamarin使用Activity注释来配置/生成AndroidManifest.xml

您是否包含了一个MainApplication类,也使用[Application]属性进行了标记?看着你的清单,我很惊讶看到这条线

<application android:allowBackup="true" android:label="@string/app_name" android:icon="@drawable/icon11" android:name="android.app.Application" android:debuggable="true">

使用android:name =“android.app.Application”。我希望看到一些带有md5哈希的东西(即md5xxx.MainApplication - 或者你的Application类的名字是什么)

更改应用程序类后可能需要清理和重建