Articles of android broadcastreceiver

Сбой при самообновлении APK (класс компонента не существует)

Я работаю над системным приложением, которое обновляет его, загружая apk и устанавливая его с помощью метода installPackage() . Я получаю следующее исключение: Fatal Exception: java.lang.IllegalArgumentException: Component class com.myapp.package.receivers.SomeOldReceiver does not exist in com.myapp.package at android.os.Parcel.readException(Parcel.java:1544) at android.os.Parcel.readException(Parcel.java:1493) at android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(IPackageManager.java:3420) at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:1492) at com.myapp.package.utils.AndroidUtils.enableDisableComponent(SourceFile:113) at … Компонент «SomeOldReceiver» не существует в обновленном apk. Похоже, что выполняется […]

Как сохранить мой BroadcastReceiver

В настоящее время я разрабатываю приложение блокировщика вызовов, такое как Truecaller. Что мне нужно Я хочу обнаружить входящие звонки, даже мое приложение удаляется из списка последних приложений. Код манифест.xml <receiver android:name=".PhoneStateReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> Мой код приемника вещания @Override public void onReceive(Context context, Intent intent) { //my call blocking code } Моя […]

Правильное отслеживание ссылок на установку в Play Маркете

У меня есть простая задача: я хочу отслеживать идентификатор реферала установки приложения и передавать его на бэкэнд. Что я сделал: я создал ссылку с дополнительным параметром referrer и добавил его в ссылку приглашения. Когда он открывается, javascript обнаруживает, является ли браузер мобильным браузером Android, а затем готовит intent и перенаправляет на это намерение. При подготовке […]

Android GoogleAuthUtil.getTokenWithNotification Интерактивный вызов не запускается

У меня есть фоновый сервис, который вызывает GoogleAuthUtl.getTokenWithNotification и он работает правильно, но я пытаюсь реализовать часть обратного вызова этой функции и не работает должным образом. Я внедрил широковещательный приемник и добавил его в манифест, у меня также есть активность в моем приложении. Ниже приведены соответствующие фрагменты кода. GoogleAuthUtil.getTokenWithNotification GoogleAuthUtil.getTokenWithNotification(this.getContext(), account, "oauth2:" + GmailScopes.GMAIL_SEND, null, […]

Цель CONNECTIVITY_ACTION получена дважды при подключении Wi-Fi

В моем приложении у меня есть BroadcastReceiver который запускается как компонент через <receiver> , и фильтрует android.net.conn.CONNECTIVITY_CHANGE . Моя цель – просто знать, когда было установлено соединение Wi-Fi, поэтому то, что я делаю в onReceive() , следующее: NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) { // Wifi is connected } Он работает нормально, […]

Android – «Экспортированный приемник не требует разрешения» на приемниках, предназначенных для получения от системных служб

У меня есть некоторые приемники, объявленные в моем AndroidManifest: <!– no warning –> <receiver android:name=".receivers.TriggerMonitoringBootReceiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> <!– no warning –> <receiver android:name=".receivers.ScanResultsReceiver" android:enabled="false"> <intent-filter> <action android:name="android.net.wifi.SCAN_RESULTS" /> </intent-filter> </receiver> <!– warning : Exported receiver does not require permission–> <receiver android:name=".receivers.BatteryMonitoringReceiver" android:enabled="false"> <intent-filter> <action android:name="@string/intent_action_setup_alarm" /> <action android:name="@string/intent_action_cancel_alarm" /> <action […]

Как проверить, зарегистрирован ли приемник в Android?

Мне нужно проверить, зарегистрирован ли зарегистрированный ресивер, если нет, как я могу проверить какие-либо методы?