サービスを作成しましたが、これはAPKに含まれています。このAPKでは、私はまったく活動していません。定義は以下の通りです:startserviceにネットワーク権限がありません
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service android:name="com.blackforest.service.KeyService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.blackforest.service.KeyService"/>
</intent-filter>
</service>
</application>
私はそれをコンパイルし、実際のAndroid携帯電話にインストール午後経由でAPKをインストールし、私は、このコマンドを経由してこのサービスを開始しよう:
am startservice --user 0 -n com.blackforest.service/.KeyService
このサービスすることができます正しく起動してください。しかし、このサービスにはネットワーク権限がないようです。私は、ドメインbf.xxxx.comは、この携帯電話を経由して到達可能であることは間違いなく確信して
02-23 16:22:29.685 22689-22714/com.blackforest.service W/System.err: java.net.UnknownHostException: Unable to resolve host "bf.xxxx.com": No address associated with hostname
02-23 16:22:29.686 22689-22714/com.blackforest.service W/System.err: at java.net.InetAddress.lookupHostByName(InetAddress.java:424)
02-23 16:22:29.686 22689-22714/com.blackforest.service W/System.err: at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
02-23 16:22:29.686 22689-22714/com.blackforest.service W/System.err: at java.net.InetAddress.getAllByName(InetAddress.java:214)
02-23 16:22:29.686 22689-22714/com.blackforest.service W/System.err: at okhttp3.Dns$1.lookup(Dns.java:39)
:それはリクエストを送るように、私は次のエラーを得ました。
少し変更を加えて、このAPKで空白のアクティビティを追加してから、再インストールしました。最初に私はこの画面で活動を開始し、その後am startserviceでサービスを開始しました。この時点で、サービスは非常にうまく動作します。
私の質問は、APKの起動時にamコマンドでサービスしかない場合、サービスにネットワークアクセス権がない理由です。
説明が醜いですね!本当にありがとう。
全体のmanifest.xmlがある:
<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" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service android:name="com.blackforest.service.KeyService"
android:enabled="true"
android:exported="true"
>
<intent-filter>
<action android:name="com.blackforest.service.KeyService"/>
</intent-filter>
</service>
<activity android:name=".MainActivity">
</activity>
</application>
PS:この携帯電話でAndroidは4.4.4
全体のマニフェスト?あなたが追加した許可を見るだけで – Timo
@Timoが追加されました、ありがとう – simonzhang
アンドロイドのどのバージョンですか? – Timo