Xamarin Android应用程序在模拟器上运行,在使用WebRequest时在真实设备上崩溃

时间:2015-07-20 04:14:19

标签: c# android xamarin android-emulator webrequest

我正在使用此示例从链接到Android设备获取一些数据: https://msdn.microsoft.com/en-us/library/456dfw4f(v=vs.110).aspx

使用模拟器(Nexus 5和Android Kit Kat)时应用程序运行正常,但是当我在实际的Android(带有Jellybean的Samsung S3 mini)上部署它(发布版本)时,应用程序启动,但在此之后崩溃“不幸的是......已停止工作“。如果我不使用WebRequest.Create,应用程序中的所有其他组件都可以在任何地方使用。

WebRequest request = WebRequest.Create(
            "MY LINK HERE"); //with a real link ofcourse

        request.Credentials = CredentialCache.DefaultCredentials;
        WebResponse response = request.GetResponse();


        Stream dataStream = response.GetResponseStream();

        StreamReader reader = new StreamReader(dataStream);

        string responseFromServer = reader.ReadToEnd()

        reader.Close();
        response.Close();

2 个答案:

答案 0 :(得分:0)

我修复了问题。我不知道我必须设置使用互联网的许可。

项目 - >项目选项 - >构建 - > Android应用程序 - >所需权限 - >勾选互联网复选框,然后按确定。

答案 1 :(得分:0)

在属性下的AndroidManifest.xml文件中为App启用Internet权限,如下所示:



<uses-permission android:name="android.permission.INTERNET" />
&#13;
&#13;
&#13;

或通过以下步骤启用向导:

  • 右键单击项目和属性
  • 在Android Manifest下
  • 启用所需权限下的 Internet 复选框 enter image description here

希望这有帮助