安全本地化应用Xamarin.Forms,Xamarin.IOS,Xamarin.Android

disbfnqx  于 2023-10-14  发布在  iOS
关注(0)|答案(1)|浏览(133)

早上好,我正在开发一个xamarin应用程序,它可以让你找到它的用户。
考虑到用户位置的重要性,我必须保证使用确切的位置,即。避免:

  • 不要用虚假的GPS应用程序误导应用程序(证明xamarin要领的位置允许您管理此)
  • 用户无法在PC模拟器上安装软件。
  • 用户不能注入代码以避免此验证。

在xamarin中是否有任何解决方案可以让我以安全有效的方式解决这些问题,以实现我的目标(有一个可靠的位置)。
Thanks in advance

xzabzqsa

xzabzqsa1#

您可以使用Xamarin.Essentials: Geolocation。它有方法来检测模拟位置。

var request = new GeolocationRequest(GeolocationAccuracy.Medium);
var location = await Geolocation.GetLocationAsync(request);

if (location != null)
{
    if(location.IsFromMockProvider)
    {
        // location is from a mock provider
    }
}

用户无法在PC模拟器上安装软件。
首先,您可以在AndroidManifest.xml中添加读取文件系统的权限。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

第二步,创建一个方法来读取'/proc/cpuinfo'的内容:

using System.IO;
using System.Text;

public string GetCpuInfo()
{
    StringBuilder sb = new StringBuilder();
    try
    {
        using (StreamReader sr = new StreamReader("/proc/cpuinfo"))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                sb.AppendLine(line);
            }
        }
    }
    catch (IOException ex)
    {
        // Handle exception
    }

    return sb.ToString();
}

然后,您可以调用此方法获取并显示CPU信息。

string cpuInfo = GetCpuInfo();

相关问题