小编Sag*_*til的帖子

如何以xamarin形式获取电话号码?

我正在研究xamarin.forms。我需要获取电话号码,如果设备是双SIM卡,那么我需要获取两个号码。我该如何实现?引用我来到这里后,有很多与此相关的问题。

我在shard项目中创建了一个接口,并在android项目中实现了该接口。android.permission.READ_PHONE_NUMBERS

在共享项目中创建接口

public interface IDeviceInfo
{
 string GetMyPhoneNumber();
}

Run Code Online (Sandbox Code Playgroud)

在android项目中实现了界面

public string GetMyPhoneNumber()
{
   try
   {
      TelephonyManager mgr =     
  Android.App.Application.Context.GetSystemService(Context.TelephonyService) as TelephonyManager;
    return mgr.Line1Number;
   }
  catch (Exception ex)
  {
  throw;
  }
}

Run Code Online (Sandbox Code Playgroud)

在按钮之一上单击共享项目

 private void GetPhone_Clicked(object sender, EventArgs e)
 {  
    try
    {

        var data = DependencyService.Get<IDeviceInfo>().GetMyPhoneNumber();
    }
    catch (Exception ex)
    {
          throw;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用android 5时,它返回空字符串,如果我使用android 6+,则给出权限错误,如Java.Lang.SecurityException:getLine1NumberForDisplay:用户10286或当前进程都没有android.permission.READ_PHONE_STATE,android.permission。 READ_SMS或android.permission.READ_PHONE_NUMBERS

如何在所有Android版本中解决此问题?

c# xamarin.android telephonymanager xamarin xamarin.forms

7
推荐指数
1
解决办法
1370
查看次数

如何解决“无法解析主机”错误?

我正在研究 xamarin 表单。我在哪里使用 API。当我在 android 5 中运行该应用程序时,它工作正常,但如果我运行 7 +,它会给出类似的错误

无法解析主机“almsdev.southeastasia.cloudapp.azure.com”:没有与主机名关联的地址。

如何解决这个问题?

以下是代码片段:

public async Task<HttpResponseMessage> Login(string EmailOrMobile)
    {
        try
        {

            var responseTask = await client.GetAsync(OauthBaseUrl + "OAuthSAAS/MSLogin?UserCredentials=" + EmailOrMobile);
            return responseTask;
        }
        catch (Exception ex)
        {
            Crashes.TrackError(ex);
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

单击按钮时我正在调用上面的方法

 private async void fn_Submit_Clicked(object sender, EventArgs e)
 {  
    var response = await _oauthService.Login(txt_credentails.Text.Trim()); 
 }
Run Code Online (Sandbox Code Playgroud)

我的基本 URL 是
http://almsdev.southeastasia.cloudapp.azure.com:81/api/

我正在使用 Http client = new Http();

xamarin.android asp.net-web-api xamarin xamarin.forms

6
推荐指数
1
解决办法
3396
查看次数

如何读取xamarin.forms中的图像源或图像名称?

我正在处理 Xamarin 表单,我在图像内部使用了 TapGestureRecognizer,现在点击该图像我需要在 c# 中获取图像的源。我怎样才能得到它?我这样做的原因是,单选按钮在 Xamarin 表单中不可用,点击图像时,我将检查图像的来源,如果源已选中图像,那么我需要将源更改为未选中,反之亦然。

这是我的 XAML 代码

   <Image  Scale="0.7"  HorizontalOptions="Start" x:Name="radioButton" Source="unchecked.png">
       <Image.GestureRecognizers>
           <TapGestureRecognizer Tapped="radioButton_Clicked"> 
           </TapGestureRecognizer>
       </Image.GestureRecognizers>
   </Image>
Run Code Online (Sandbox Code Playgroud)

这是我的 C# 代码

    private void radioButton_Clicked(object sender, EventArgs e)
    {
        var imageSource = "";//get image source here
        if (imageSource == "Checked.png")
        {
            radioButton.Source = "Unchecked.png";
        }
        else
        {
            radioButton.Source = "Checked.png";
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# xamarin.ios xamarin.android xamarin xamarin.forms

3
推荐指数
1
解决办法
3326
查看次数