Не получается получить разрешение на использование интернета на телефоне android. Пытался сделать это на android 6.0 В дальнейшем вставил проверку наличия расширения:
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) permText.setText("done");
if (permissionCheck== PackageManager.PERMISSION_DENIED) permText.setText("failed");
В дальнейшем вычитал что в android 6.0 требуется отдельный запрос и простое прописывание в манифесте не поможет. Тогда изменил targetSDK и minSDK на 15 (android 4.0.3 если не ошибаюсь). По прежнему выдает отсутствие разрешения. Вот мой манифест, вдруг не правильно прописал. Помогите пожалуйста получить разрешения. Не понимаю почему не работает.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.nikita.simpleclient">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
В блоке если разрешение не предоставлено, у вас это if (permissionCheck== PackageManager.PERMISSION_DENIED)
можно программно запросить разрешение, необходимо для версии android 6+
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.INTERNET},
1);
Ссылка на документацию - https://developer.android.com/training/permissions/requesting.html
Более полный код
//Проверка версии SDK устройства
if (Build.VERSION.SDK_INT >= 23) {
//динамическое получение прав на INTERNET
if (checkSelfPermission(android.Manifest.permission.INTERNET)
== PackageManager.PERMISSION_GRANTED) {
Log.d(TAG, "Permission is granted");
//делаете что-то с интернетом
} else {
Log.d(TAG, "Permission is revoked");
//запрашиваем разрешение
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.INTERNET}, 1);
}
} else {
//делаете что-то с интернетом;
}
Ну в манифесте permission должно стоять перед application.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не могу понять в чем проблема, вроде все делаю по oracle tutorialsНо что-то не все верно получается