【问题标题】:Main Activity difference between VS2017 and VS2019VS2017和VS2019的主要Activity区别
【发布时间】:2019-05-17 16:58:06
【问题描述】:

昨晚我迁移到了一台新机器上,不得不安装 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 上发生了变化(不知道为什么这很重要),或者我在安装和设置环境时是否做错了什么。

任何帮助都将不胜感激,因为我正在摸索。

【问题讨论】:

  • 因为 FragmentActivity 实现了ActivityCompat.OnRequestPermissionsResultCallback,因此你的类将实现OnRequestPermissionsResult....恕我直言,我不确定会添加什么,它是在 24.1.0 中添加的,所以如果你改变了目标到此或更远,然后它将...检查您的目标版本。
  • 你升级对了,谁知道TBH发生了什么。您在 2019 年解决方案中的目标是什么版本? whycreating a Blank android app, I have a new method,可能是针对当前版本...
  • 抱歉刚刚做了一些检查。两者都针对 Android Oreo 8.1(所以 27+ 对)?我的 2017 年项目甚至不会在 2019 年构建。获取“LinkAssemblies”任务意外失败错误。
  • @Çöđěxěŕ 所以我刚刚在我的机器上安装了VS2017,它运行完美,所以我很困惑
  • 你刚装了VS2017,我还以为是你装的VS2019..?

标签: c# visual-studio xamarin xamarin.forms xamarin.android


【解决方案1】:

那是因为 Xamarin 想让你了解 Xamarin.Essentials。

Xamarin Essentials 允许您通过定义的 API 访问依赖于平台的功能,例如气压计、首选项、地理编码等。

对于所有受支持的功能,请查看文档。请注意,部分功能仍处于预览阶段。

Xamarin Essentials Getting Started

由于这些功能取决于权限,因此库甚至请求权限,因此 xamarin.essentials 必须了解权限结果。

Permission Request Source Code

【讨论】:

  • 这正是我正在寻找的答案!有没有办法让 VS 为任何新项目自动更新 Nuget 包到 v.1.1.0。就目前而言,我遇到了很多错误,这些错误会阻止应用程序在我更新之前构建。
  • @JamesPavett 模板只获取为模板提供的文件。如果模板没有立即构建,则模板中存在错误或您的 Visual Studio 设置不正确。使用我的 Visual Studio 2019,xamarin android 项目无需任何调整即可工作。通常你不想在项目中自动更新包版本,因为这会带来风险。
猜你喜欢
  • 2020-06-03
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多