MainActivity утекла ServiceConnection CustomTabsServiceConnectionImpl, который был изначально привязан здесь - PullRequest
0 голосов
/ 22 ноября 2018

xamarin android project unbindservice для пользовательских вкладок.Я не могу найти способ отмены привязки сервисов.

1 Ответ

0 голосов
/ 26 ноября 2018

Если вы используете библиотеку Xamarin.Android.Support.CustomTabs , обратите внимание, что класс CustomTabsActivityManager не предоставляет метод UnBindService(), и вы не можете получитьCustomTabsServiceConnection экземпляр извне, чтобы было трудно отсоединить службу в вашей Деятельности.

Решение:

Поэтому вам нужно добавить метод UnBindService() самостоятельно, например:

public class MyCustomTabsActivityManager
{
     CustomTabsServiceConnectionImpl connection;

     public Activity ParentActivity { get; private set; }
     public CustomTabsClient Client { get; private set; }

     CustomTabsSession session = null;

     ...

     public void UnBindService()
     {
         if (connection != null)
         {
             ParentActivity.UnbindService(connection);
             Client = null;
             session = null;
          }
     }
}

Тогда вы можете использовать это UnBindService() в своем Activity:

protected override void OnDestroy()
{
    myCustomTabsActivityManager.UnBindService();
    base.OnDestroy();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...