2015-07-20 40 views
1

当我使用这个例子从一个链接一些数据到Android设备:使用仿真器时 https://msdn.microsoft.com/en-us/library/456dfw4f(v=vs.110).aspxXamarin的Android应用程式适用于模拟器,崩溃在实际设备使用的WebRequest

的应用程序工作正常(的Nexus 5与Android Kit Kat),但是当我在实际的Android(三星S3迷你Jellybean)上部署它(发布版本)时,该应用程序启动,但之后崩溃,“很不幸..已停止工作”。如果我不使用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(); 
+0

能否请你张贴的http请求的代码? – IdoT

+0

我已添加代码:) –

+0

添加try catch子句并请提供例外,并确保您的地址不是本地主机 – IdoT

回答

0

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

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

,或者通过向导根据以下步骤启用:

  • 右击对项目和属性
  • 在Android Manifest
  • 启用互联网复选框下所需的权限 enter image description here

希望这有助于

0

我修正了这个问题。我不知道我必须设置使用互联网的权限。

Project-> Project Options-> Build-> Android Application-> Required permission->勾选互联网复选框,然后按OK。

+0

在调试中,Android会隐式地将Internet权限授予您的应用。在发行版中,您必须明确授予Internet权限。 – Jason

相关问题