Je vais faire un service qui fonctionne après le démarrage de l'appareil terminé. J'ajouté android.permission.RECEIVE_BOOT_COMPLETED
permission et un récepteur comme celui-ci:Comment réparer BroadcastReceiver.onReceive ne pas recevoir d'action BOOT_COMPLETED?
<receiver android:name=".myapp.BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Enfin, je crée une classe BootReceiver va de BroadcastReceiver comme ceci:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("RECEIVER", "BOOT RECEIVED:" + intent.getAction());
}
}
Mais il ne fonctionne pas. Lorsque je redémarre mon téléphone, je vois une exception à logcat comme ceci:
E/BootReceiver: Can't remove old update packages
java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads
at android.content.ContentResolver.delete(ContentResolver.java:1329)
at android.provider.Downloads.removeAllDownloadsByPackage(Downloads.java:1089)
at com.android.server.BootReceiver.removeOldUpdatePackages(BootReceiver.java:93)
at com.android.server.BootReceiver.access$100(BootReceiver.java:42)
at com.android.server.BootReceiver$1.run(BootReceiver.java:82)
Lorsque je désinstalle mon application, cette exception semble encore.
Quel est le problème? Comment puis-je le réparer? Merci d'avance.