Nagendra Babu Korlakunta Ответов: 0

Android.views.windowmanagerbaddokenexception: невозможно добавить окно -- токен android.os.binderproxy


Я разрабатываю приложение для android с использованием xamarin.

Я создаю пользовательские тостовые сообщения, похожие на android Toast.MakeText().пожалуйста, смотрите мой c#.net ниже кода

var @params = new WindowManagerLayoutParams(
ViewGroup.Ни.WrapContent,
ViewGroup.Ни.WrapContent,
WindowManagerTypes.Тост,
WindowManagerFlags.NotFocusable | WindowManagerFlags.NotTouchable,
Андроид.Графика.Формат.Полупрозрачный);

Андроид.Content.Res.Configuration config = активность.Ресурсы.Конфигурация;

@params.Гравитация = Гравитация.GetAbsoluteGravity((GravityFlags.CenterHorizontal | GravityFlags.Bottom), (GravityFlags)config.Layoutdirection значение);
@params.X = 0;
@params.Y = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 64f, activity.Ресурсы.DisplayMetrics);
@params.WindowAnimations = Android.Ресурс.Стиль.AnimationToast;
@params.Имя пакета = активность.Имя_пакета;
@params.Знак = действие.Окно.Атрибуты.Знак;

if ((@params.Гравитация и гравитационные флэги.HorizontalGravityMask) == GravityFlags.Филлгоризонтал)
{
@params.HorizontalWeight = 1.0 Ф;
}

if ((@params.Gravity & GravityFlags.VerticalGravityMask) == GravityFlags.FillVertical)
{
аргумент @params.VerticalWeight = 1.0 Ф;
}

пробовать
{
деятельность.Поверх.AddView(msg.MView, @params);
}
улов(система.Исключение экс)
{
}

При добавлении представления в Windowmanager я получаю следующее исключение

{Андроид.Просмотры.Windowmanagerbaddokenexception: невозможно добавить window -- token android.os.BinderProxy@901e8d6 не является действительным; ваша деятельность работает?
в System.Runtime.Исключительные услуги.ExceptionDispatchInfo.Throw () [0x0000c] in :0
на Яве.Взаимодействие.JniEnvironment+InstanceMethods.CallVoidMethod (Java.Взаимодействие.Экземпляр JniObjectReference, Java.- Взаимодействия.Способ JniMethodInfo, Ява.Взаимодействие.JniArgumentValue* args) [0x00069] в <3cb12bce834a498199b2be6cd3e00922>:0
на Андроиде.Время выполнения.JNIEnv.CallVoidMethod (Системы.Указателя IntPtr создание экземпляра системы.IntPtr jmethod, Android.Время выполнения.JValue* parms) [0x0000e] in :0
на Андроиде.Просмотры.IWindowManagerInvoker.AddView (Android.Просмотры.Вид-вид, Андроид.Views.ViewGroup+LayoutParams params) [0x0007c] in :0
в GSP.Телефон.Управления.ToastCompat+<>c__DisplayClass11_0.b__0 () [0x00162] в ToastCompat.cs:152
--- Конец управляемого Андроида.Просмотры.Трассировка стека windowmanagerbaddokenexception ---
android.view.WindowManager$BadTokenException: невозможно добавить window -- token android.os.BinderProxy@901e8d6 не является действительным; ваша деятельность работает?
в android.view.ViewRootImpl.setView(ViewRootImpl.java:920)
на android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:377)
на android.view.WindowManagerImpl.addView(WindowManagerImpl.java:105)
в mono.java.lang.RunnableImplementor.n_run(собственный метод)
в mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
в android.os.Handler.handleCallback(Handler.java:751)
в android.os.Handler.dispatchMessage(Handler.java:95)
на Андроид.ОС."Петля времени".петли(лупер.Ява:154)
в android.app.ActivityThread.main(ActivityThread.java:6823)
в java.lang.reflect.Method.invoke(собственный метод)
в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1557)
на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
}

мне кажется, что при назначении токена для параметров оконного менеджера возникает проблема. присваиваю ли я правильное значение токена(activity.Окно.Атрибуты.Маркер) в окне Параметры диспетчера?

Пожалуйста, помогите мне, как решить проблему андроида.Просмотры.Windowmanagerbaddokenexception

Спасибо,
К. Нагендра Бабу

Что я уже пробовал:

Я попытался создать пользовательские тостовые сообщения, похожие на тостовые сообщения android, но при добавлении представления в WindowManager он бросает Android.Просмотры.Windowmanagerbaddokenexception

0 Ответов