Сбой приложения Xamarin Forms во время запуска (Android — физическое устройство)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сбой приложения Xamarin Forms во время запуска (Android — физическое устройство)

Сообщение Anonymous »

Я развернул приложение, разработанное с помощью форм xamarin (5), и оно отлично работает на IOS и Android, НО на некоторых конкретных устройствах, подобных этим (Vivo y21, Realme C55), приложение вылетает во время запуска.
Очень странно то, что в центре приложений я не узнаю ни одного журнала сбоев, поэтому кажется, что что-то происходит во время метода OnCreate в MainActivity или что-то в этом роде.
Устройство Android 12.Я опубликую здесь свою основную активность и, если возможно, видео во время сбоя на этих устройствах.

Код: Выделить всё

using System;
using Acr.UserDialogs;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Widget;
using OneSignalSDK.Xamarin;
using OneSignalSDK.Xamarin.Core;
using FFImageLoading.Forms.Platform;
using ImageCircle.Forms.Plugin.Droid;
using Java.Security;
using MyPad.Helpers;
using PanCardView.Droid;
using Plugin.FacebookClient;
using Rg.Plugins.Popup;
using Xamarin.Essentials;
using Xamarin.Facebook;
using Xamarin.Facebook.AppEvents;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;

namespace MyPad.Droid
{
[Activity(Label = "MyPad",
Icon = "@drawable/icon",
Theme = "@style/MainTheme",
MainLauncher = false, LaunchMode =LaunchMode.SingleTop,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;

base.OnCreate(savedInstanceState);
CachedImageRenderer.Init(true);
FacebookClientManager.Initialize(this);

UserDialogs.Init(this);
Popup.Init(this);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
global::Xamarin.Auth.Presenters.XamarinAndroid.AuthenticationConfiguration.Init(this, savedInstanceState);
global::Xamarin.Auth.CustomTabsConfiguration.CustomTabsClosingMessage = null;
ImageCircleRenderer.Init();
Window.SetStatusBarColor(Xamarin.Forms.Platform.Android.ColorExtensions.ToAndroid(Xamarin.Forms.Color.FromHex("#181A1F")));
Window.SetNavigationBarColor(Android.Graphics.Color.Black);
OneSignal.Default.Initialize("3cefddff-d624-4a1a-8501-d00c3ca74e93");
OneSignal.Default.PromptForPushNotificationsWithUserResponse();
CardsViewRenderer.Preserve();
FacebookSdk.SdkInitialize(this.ApplicationContext);
FacebookSdk.AutoInitEnabled = true;
FacebookSdk.FullyInitialize();
FacebookSdk.AutoLogAppEventsEnabled = true;
App.ScreenHeight = (int)(Resources.DisplayMetrics.HeightPixels / Resources.DisplayMetrics.Density);
App.ScreenWidth = (int)(Resources.DisplayMetrics.WidthPixels / Resources.DisplayMetrics.Density);
LoadApplication(new App());
}

protected override void OnResume()
{
base.OnResume();
Xamarin.Essentials.Platform.OnResume();
AppEventsLogger.ActivateApp(Application);
}

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

base.OnRequestPermissionsResult(requestCode, permissions, grantResults);

}

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
FacebookClientManager.OnActivityResult(requestCode, resultCode, data);

}

public class Env : IEnvironment
{
public void SetStatusBarColor(System.Drawing.Color color, bool darkStatusBarTint)
{
if (Build.VERSION.SdkInt <  Android.OS.BuildVersionCodes.Lollipop)
return;

var activity = Xamarin.Essentials.Platform.CurrentActivity;
var window = activity.Window;
window.AddFlags(Android.Views.WindowManagerFlags.DrawsSystemBarBackgrounds);
window.ClearFlags(Android.Views.WindowManagerFlags.TranslucentStatus);
window.SetStatusBarColor(color.ToPlatformColor());

if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.M)
{
var flag = (Android.Views.StatusBarVisibility)Android.Views.SystemUiFlags.LightStatusBar;
window.DecorView.SystemUiVisibility = darkStatusBarTint ? flag : 0;
}
}
}
}

[Activity(NoHistory = true, LaunchMode = LaunchMode.SingleTop, Exported =false)]
[IntentFilter(new[] { Android.Content.Intent.ActionView },
Categories = new[] { Android.Content.Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable }, DataScheme = "mypadapp")]
public class WebAuthenticationCallbackActivity : Xamarin.Essentials.WebAuthenticatorCallbackActivity
{
}
}
Я пытался создать эмулятор с этими характеристиками устройства, но он работает отлично.
Может быть, проблема с внешними библиотеками?

Подробнее здесь: https://stackoverflow.com/questions/771 ... cal-device
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»