Как получать IMEI в Xamarin. Android?

Я должен делать App в Ксамарин (Android), где клиент попросил у меня вместо loguearse, как Вы делаетесь обычно (пользователь и пароль) санкционировать, если IMEI телефона соответствует тому, которого считает выделенным пользователь.

Поскольку я нашел в Интернете, способ это делать - следующий:

TelephonyManager tm = (TelephonyManager)GetSystemService(TelephonyService);
string imei = tm.GetImei(0);

Но когда я завершаю переменную imei, у меня выходит ошибка, которую Вы говорите, что у меня нет необходимых разрешений, сколько бы уже я не отметил их в Manifest.
Поскольку я понимаю, Это появляется, потому что нужно просить у пользователя разрешение, когда у устройства есть Android 6.0 или начальник (Я это пробую в Moto G5S с Android 8.1).

Я искал решение этой проблемы и единственного, что я нашел, Вы были какими-то примерами, как он делается Андроид Студио. В большинстве случаев он заканчивает тем, что имеет следующую форму:

if(Build.VERSION.SDK_INT  < Build.VERSION_CODES.M){
    //Menores a Android 6.0
    String imei= getIMEI();
    return imei;
} else {
    // Mayores a Android 6.0
    String imei="";
    if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[] {Manifest.permission.READ_PHONE_STATE}, MY_PERMISSIONS_REQUEST_READ_PHONE_STATE);
        imei="";
    } else {
        imei= getIMEI();
    }

    return imei;

}

Кто-то мог бы помогать мне преобразовывать это Android в Xamarin? Потому что недавно, который я развиваю в Xamarin и не считаю много идею как это перемещает.

Я довожу до сведения из-за сомнений, что мой проект не принадлежит Xamarin. Forms, - проект Ксамарин Андроид, который я развиваю с Визуальным Studio.

Спасибо заранее!

5
задан 29.08.2019, 17:51
0 ответов