我需要什么权限才能从android应用程序访问Internet?

我得到下面的exception运行我的应用程序:

java.net.SocketException: Permission denied (maybe missing INTERNET permission) 

我如何解决遗漏的权限问题?

在最新的Google Play版本中,Google不再需要征询互联网的许可,因为“现在大多数应用程序都需要它”。 但是,对于使用较旧版本的用户,仍build议将代码保留在清单中

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

将INTERNET权限添加到您的清单文件。

你必须添加这一行:

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

在AndroidManifest.xml的应用程序标签之外

就像下面的线一样

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.avocats.activeavocats" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.exp.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 
 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

如果你想在你的应用程序中使用互联网以及检查networking状态,即应用程序是否连接到互联网,那么你必须在application标签之外使用下面的代码。

对于Internet许可:

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

对于访问networking状态:

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

完整代码:

 <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 

如果只是使用互联网然后使用 –

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

如果你正在获得互联网的状态,那么也使用 –

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

就在应用程序标签的上方。

只需在AndroidManifest中input以下代码:

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

忘记将权限添加到清单中将此代码添加为方法

 public static boolean hasPermissions(Context context, String... permissions) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) { for (String permission : permissions) { if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { return false; } } } return true; } 

并写在你的

 int PERMISSION_ALL = 1; String[] PERMISSIONS = {Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_SMS, Manifest.permission.CAMERA}; if (!hasPermissions(this, PERMISSIONS)) { ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL); } 

根据目前的版本,Android不会要求与互联网交互的权限,但您可以添加下面的代码,这将有助于使用旧版本的用户只需在AndroidManifest中添加这些代码

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