응용 프로그램에 매니페스트 권한을 추가하는 방법은 무엇입니까?
다음을 사용하여 HTTP 링크에 액세스하려고 합니다.HttpURLConnection
Android에서 이 됩니다.LogCat
:
경고/System.err(223): java.net .소켓 예외:권한이 거부되었습니다(인터넷 권한이 누락되었을 수 있음).
저는 습니다했가를 했습니다.android.Manifest.permission
제가 신청했는데도 여전히 같은 예외를 주고 있습니다.
의 에설정사권에서 합니다.LogCat
설명,가 작성한 "오류", "오류"에 .AndroidManifest.xml
인터넷에 액세스할 수 있는 파일:
<manifest xlmns:android...>
...
<uses-permission android:name="android.permission.INTERNET" />
<application ...
</manifest>
그 외에는 인터넷에서 파일을 다운로드해도 괜찮습니다.
권한 이름은 대/소문자를 구분합니다.
누군가가 같은 문제로 어려움을 겪을 경우, 대소문자를 구분하는 진술이므로, 잘못된 대소문자는 프로그램이 권한을 얻지 못한다는 것을 의미합니다.
틀렸어
<uses-permission android:name="ANDROID.PERMISSION.INTERNET" />
맞아요.
<uses-permission android:name="android.permission.INTERNET" />
이 문제가 발생할 수 있습니다.IDE에서 자동 완성 시
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.photoeffect"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="com.example.towntour.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" >
<activity
android:name="com.photoeffect.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>
</manifest>
Eclipse Eclipse ADT를 엽니다.AndroidManifest.xml
에서 (Android Manifest Editor(안드로이드 매니페스트 편집기)를 기본 .)AndroidManifest.xml
프로젝트 파일 목록에서).
그런 다음 다음 다음을 선택합니다.Permissions
탭(편집기하탭의단탭(()Manifest - Application - Permissions - Instrumentation - AndroidManifest.xml
), 를 클릭한 , 를 클릭합니다.Add...
a Uses Permission
: )을 만 하면 .android.permission.INTERNET
필요한 권한)을 입력합니다.
파일에 하여 "" "" "" "" "" "" .<application>
꼬리표를 달다
<uses-permission android:name="android.permission.INTERNET"/>
을 아배래에치 에 두는 것.<application/>
태그는 작동하지만 경고를 제공합니다.그러니 조심해서 그것을 그 앞에 놓으십시오.<application/>
태그 선언
FLUTTLE 개발자용.
에 가다
Android/app/main/AndroidManifest.xml
외부
응용 프로그램 태그
하지만 내부적으로는
매니페스트 태그
더하다
<uses-permission android:name="android.permission.INTERNET" />
응용 프로그램 태그에 다음 행을 추가합니다.
android:usesCleartextTraffic="true"
아래 코드와 같이 표시:
<application
....
android:usesCleartextTraffic="true"
....>
그리고 다음 태그를 위에 추가합니다.application
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
그렇게 되는 것:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.themarona.app">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<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>
일식을.
- 합니다.
- 에 있는 합니다.
- 대화 상자가 나타나면 권한 사용을 클릭합니다.(일반적으로 목록의 마지막 항목)
- 오른쪽에 "안드로이드"를 선택하면 표시됩니다.인터넷"
- 그런 다음 OK를 연발하고 마지막으로 저장합니다.
이것이 도움이 되길 바랍니다.
제가 늦었지만 답변을 완료하고 싶습니다.
사용 권한이 다음에 추가됩니다.manifest.xml
맘에 들다
<uses-permission android:name="android.permission.INTERNET"/>
이는 사용자에게 아무런 권한도 묻지 않는 표준 권한에 충분합니다.그러나 위험한 허가인 경우에만 허가를 추가하는 것은 충분하지 않습니다.안드로이드 문서를 참조하십시오.카메라, 저장소 권한과 같은 것입니다.
<uses-permission android:name="android.permission.CAMERA"/>
사용자에게 권한을 요청해야 합니다.저는 허가를 요청하기 위해 널리 사용되는 RxPermission 라이브러리를 사용합니다.왜냐하면 우리가 허락을 구하기 위해 작성해야 하는 긴 코드이기 때문입니다.
RxPermissions rxPermissions = new RxPermissions(this); // where this is an Activity instance // Must be done during an initialization phase like onCreate
rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe(granted -> {
if (granted) { // Always true pre-M
// I can control the camera now
} else {
// Oups permission denied
}
});
이 라이브러리를 앱에 추가
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.tbruyelle:rxpermissions:0.10.1'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
}
응용프로그램에 인터넷 권한을 추가하는 경우에도 흥미로울 수 있습니다.
구글은 또한 각 앱에 인터넷 액세스 권한을 부여하여 인터넷 액세스 권한을 효과적으로 제거했습니다.아, 물론이죠, 안드로이드 개발자들은 앱을 조립할 때 여전히 인터넷 접속을 원한다고 선언해야 합니다.그러나 앱을 설치할 때 사용자는 더 이상 인터넷 액세스 권한을 볼 수 없으며 인터넷 액세스 권한이 없는 현재 앱은 사용자에게 묻지 않고 자동 업데이트를 통해 인터넷 액세스 권한을 얻을 수 있습니다.
출처: http://www.howtogeek.com/190863/androids-app-permissions-were-just-simplified-now-theyre-much-less-secure/
결론은 매니페스트 파일에 인터넷 권한을 추가해야 하지만 사용자의 장치에 새 권한을 요청하지 않고 응용 프로그램이 업데이트된다는 것입니다.
안드로이드 에뮬레이터를 통해 인터넷을 로드하거나 액세스하는 동안 매니페스트 파일에서 네트워크 및 액세스 네트워크 상태를 모두 사용해야 합니다.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
.인터넷 권한만 부여하는 경우 인터넷에 액세스할 수 없습니다.
발 디딤판 카운터와 같은 활동 인식용
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
인터넷용
<uses-permission android:name="android.permission.INTERNET" />
통화 전화의 경우
<uses-permission android:name="android.permission.CALL_PHONE" />
[![enter image description here][1]][1]
Android Studio를 사용하는 경우 권한이 필요한 코드 위에 마우스를 놓고 "권한 추가..."를 클릭합니다."
그러면 git로 AndroidManifest.xml의 변경 사항을 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/2169294/how-to-add-manifest-permission-to-an-application
'programing' 카테고리의 다른 글
워크시트에 마지막으로 저장한 날짜 표시 (0) | 2023.06.08 |
---|---|
키별로 해시 정렬, Ruby에서 해시 반환 (0) | 2023.06.03 |
Git의 루트 커밋 앞에 커밋을 삽입하시겠습니까? (0) | 2023.06.03 |
C#에서 URL에 대한 쿼리 문자열을 작성하는 방법은 무엇입니까? (0) | 2023.06.03 |
bodyParser는 express 4에서 사용되지 않습니다. (0) | 2023.06.03 |