私はちょうど修正できないような問題に直面しました。Androidサービスの例外 - 許可が拒否されました。インターネットのアクセス許可がありません
2つのシナリオでは、最初にユーザーがMainActivity
のメソッドを起動してWeb要求を行うボタンをクリックします。これは問題なく動作します。
2番目のシナリオでは、コードがサービスに移動するとすぐに、この要求をバックグラウンドで実行されているサービスで実行したいので、許可例外が発生します。
Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
私はサービスを完全にうまく起動できますが、サービスにネットワーク要求を移すと、私は許可の問題に陥ります。
AndroidManifest.xml
にはすでに<uses-permission android:name="android.permission.INTERNET"/>
と<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
があります。
サービスを開始する前に私のMainActivityでリアルタイムパーミッションチェック(SDK 23+)もしていますが、これはサービスが取得するパーミッションには何の影響もないようです。
アイデア?あなたがtrue
にisolateProcess
を使用してい
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="domain">
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="domain.RemoteCommunicationService"
android:isolatedProcess="true"
android:exported="true">
</service>
<receiver android:name="domain.RemoteServiceRestartReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="domain.RemoteServiceRestart"></action>
</intent-filter>
</receiver>
<receiver android:name="domain.RemoteCommunicationService$RemoteCommunicationReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="domain.RemoteCommunication.ToggleLight"></action>
</intent-filter>
</receiver>
</application>
は –
@Jonasを投稿するDマニフェストファイルを表示し、あなたのマニフェストとあなたのSDKは何であるかその23またはアップあなたかもしれませんランタイムパーマ –
を追加しましたマニフェストファイルを必要とする - 問題は、私のメインで、RemoteCommuincationServiceで発生していませんアクティビティ。 –