Прошлой ночью я перешел на новую машину, и мне пришлось установить Visual Studio 2019, перенеся все мои проекты с моей предыдущей машины, где я использовал Visual Studio 2017.
Теперь по какой-то причине, создавая пустое приложение для Android, у меня есть новый метод в моем файле MainActivity.cs.
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);
}
При использовании VS2017 мой класс MainActivity содержал только один метод:
protected override void OnCreate
Я изо всех сил пытаюсь понять, изменилось ли это в VS2019 (не уверен, почему это имеет значение), или я сделал что-то неправильно при установке и настройке среды.
Любая помощь будет действительно оценена, так как я ломаю голову над этим.
Вы правильно обновились, кто знает, что случилось TBH. На какую версию вы ориентируетесь в своем решении 2019? whycreating a Blank android app, I have a new method
, вероятно, потому что он ориентирован на текущую версию...
Извините, просто проверял. Оба были нацелены на Android Oreo 8.1 (то есть 27+ верно)? Мой проект 2017 года даже не будет собран в 2019 году. Неожиданная ошибка при получении задачи «LinkAssemblies».
@ Çöđěxěŕ, поэтому я только что установил VS2017 на свою машину, и она работает отлично, поэтому я совсем запутался.
Вы только что установили VS2017, я думал, что это VS2019, который вы установили только что..?
Я только что установил VS2017 на свою новую машину, чтобы проверить, работают ли на ней проекты. Все еще есть проблема с VS2019.
Давайте продолжить обсуждение в чате.
Это потому, что Xamarin хочет, чтобы вы знали о Xamarin.Essentials.
Xamarin Essentials позволяет получить доступ к зависящим от платформы функциям, таким как барометр, настройки, геокодирование и т. д., через определенный API.
Чтобы узнать обо всех поддерживаемых функциях, ознакомьтесь с документацией. Имейте в виду, что некоторые функции все еще находятся в предварительной версии.
Начало работы с Xamarin Essentials
Поскольку эти функции зависят от разрешений, библиотека даже запрашивает разрешение, и поэтому xamarin.essentials должен знать о результатах разрешения.
Исходный код запроса разрешения
Это как раз тот ответ, который я искал! Есть ли способ, чтобы VS автоматически обновлял пакет Nuget до версии 1.1.0 для любого нового проекта. Сейчас я получаю довольно много ошибок, которые мешают сборке приложения, пока я не обновлю его.
@JamesPavett Шаблоны просто берут файлы, которые были предоставлены для шаблона. Если шаблон не создается сразу, либо в шаблоне есть ошибка, либо у вас неправильная настройка Visual Studio. С моей визуальной студией 2019 проекты xamarin для Android работают без каких-либо настроек. Обычно вы не хотите автоматически обновлять версию пакета в проекте, так как это связано с рисками.
Поскольку FragmentActivity реализует
ActivityCompat.OnRequestPermissionsResultCallback
, поэтому ваш класс будет реализовыватьOnRequestPermissionsResult
.... ИМХО, я не уверен, что бы добавило это, оно было добавлено в 24.1.0, поэтому, если вы изменили цель на это или дальше, это было бы... Проверьте версию, на которую вы ориентируетесь.