-2

我试图在手机启动时启动一项服务,它与 shell 命令“adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.example.adrian.wifi/.Receiver”一起工作,但是当我重启手机没有任何反应。

显现:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.adrian.wifi" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    >
    <service
        android:name=".WiFi"
        android:enabled="true"
        android:exported="true" >
    </service>

    <receiver
        android:name=".Receiver"
        android:enabled="true"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
        </intent-filter>
    </receiver>
</application>

接收者:

package com.example.adrian.wifi;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class Receiver extends BroadcastReceiver {
private static final String TAG = "com.example.adrian.wifi";
public Receiver() {
}

@Override
public void onReceive(Context context, Intent intent) {
    Log.i(TAG, "Starting");
    Intent myIntent = new Intent(context, WiFi.class);
    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startService(myIntent);
}

}

4

1 回答 1

0

将以下行添加到接收者的意图过滤器:

<category android:name="android.intent.category.DEFAULT" />
于 2015-10-27T14:56:00.313 回答