マニフェスト権限をアプリケーションに追加するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2169294

質問

を使用してHTTPリンクにアクセスしようとしています HttpURLConnection Android でファイルをダウンロードしようとしましたが、次の警告が表示されます。 LogCat:

警告/システム.エラー(223):java.net.SocketException:権限が拒否されました (インターネット権限が不足している可能性があります)

私が追加しました 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 のオートコンプリートについて

あなたの開発のためのEclipse ADTプラグインを使用している場合は、Androidのマニフェストエディタ(プロジェクトからのオープニングAndroidManifest.xmlのデフォルトアクションは、リストをファイルでなければなりません)で開いAndroidManifest.xmlます。

その後、エディタ(Permissions)の底部に沿ってManifest - Application - Permissions - Instrumentation - AndroidManifest.xml]タブを選択し、その後、(例えばAdd...、必要に応じていずれかでUses Permission android.permission.INTERNETをクリックし、右側のドロップダウンから希望の許可を選択するか、単にコピー&ペーストあなたが必要なアクセス許可)。

<?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>

は、アプリケーションのマニフェストファイルに次の行をコピーし、<application>タグの前に貼り付けます。

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

<application/>タグ以下の権限を配置するには動作しますが、あなたに警告を与えます。だから、<application/>タグの宣言の前に置くように注意してください。

日食を使用する場合は、次の手順に従います

1)ダブルエディタ
にそれを表示するためにマニフェストをクリックしてください 2)マニフェストエディタ
以下の権限]タブをクリックします。 3)[追加]ボタンをクリックして
4)使用の許可をクリックして表示されるダイアログで。 (リストの最後の項目々ussually)
5)お知らせrigth側に表示されますが、「android.permission.INTERNETあなた」
を選択するとの見方 6)[OK]を、一連の、最後に保存します。

これは

お役に立てば幸いです
それはまた、アプリケーションにINTERNET権限を追加することとの関連で興味深いものがあります:

  

Googleはまた、効果的にインターネットへのアクセス許可を削除し、各アプリのインターネットアクセスを与えています。ああ、確かに、Androidの開発者は、まだ一緒にアプリを入れたときに、彼らはインターネットへのアクセスを望ん宣言する必要があります。プロンプトを表示せずに、今自動更新でのインターネットアクセスを得ることができ、インターネットへのアクセスを持っていないアプリや、現在のアプリケーションをインストールするときしかし、ユーザーは、もはやインターネットへのアクセス許可を確認することができます。

ソース:<のhref = "http://www.howtogeek.com/190863/androids-app-permissions-were-just-simplified-now-theyre-much-less-secure/" のrel = "nofollowを" > http://www.howtogeek.com/190863/androids-app-permissions-were-just-simplified-now-theyre-much-less-secure/ の

ボトムラインは、あなたがまだマニフェストファイルが、アプリケーションでINTERNET権限を追加することが必要であることであるが、新たな許可のためにそれらを求めることなく、ユーザーのデバイス上で更新されます。

私は遅れていますが、私は答えを完了したい。

の許可は、

のようにmanifest.xmlに追加されます
<uses-permission android:name="android.permission.INTERNET"/>

これは、標準の権限が何の許可を求めるメッセージが表示されていないところをのために十分ですユーザーへ。しかし、危険な許可の場合のみ、マニフェストに権限を追加するだけでは十分ではありません。 アンドロイドのdoc を参照してください。カメラのように、ストレージのパーミッションます。

<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'
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top