фоновый приемник - PullRequest
       36

фоновый приемник

0 голосов
/ 08 января 2019

Приемники вещания работают в фоновом режиме в статическом определении (в манифесте). Может кто-нибудь объяснить это? Также Как запустить вещательный приемник в фоновом режиме в API 26 (oreo) и более поздних версиях.

<receiver android:name=".ScreenOnOffReceiver"
              android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
            <action android:name="myintent"/>
        </intent-filter>
    </receiver>

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}

}

public class ScreenOnOffReceiver extends BroadcastReceiver {

public final static String SCREEN_TOGGLE_TAG = "SCREEN_TOGGLE_TAG";

@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    Log.d(SCREEN_TOGGLE_TAG, " action name : " + action);
}

}

спасибо.

1 Ответ

0 голосов
/ 08 января 2019

Поскольку принудительное ограничение фона для android O было введено, для статической регистрации разрешены только некоторые трансляции, такие как BOOT_COMPLETED и т. Д. Любое другое должно динамически регистрироваться / отменять регистрацию, пока приложение находится на переднем плане. Больше информации здесь - https://developer.android.com/about/versions/oreo/background#broadcasts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...