Android

Fatal Exception: java.lang.AssertionError: Register too many Broadcast Receivers

Fatal Exception: java.lang.AssertionError: Register too many Broadcast Receivers
       at android.app.LoadedApk.checkRecevierRegisteredLeakLocked + 782(LoadedApk.java:782)
       at android.app.LoadedApk.getReceiverDispatcher + 810(LoadedApk.java:810)
       at android.app.ContextImpl.registerReceiverInternal + 1337(ContextImpl.java:1337)
       at android.app.ContextImpl.registerReceiver + 1317(ContextImpl.java:1317)
       at android.app.ContextImpl.registerReceiver + 1311(ContextImpl.java:1311)
       at android.content.ContextWrapper.registerReceiver + 554(ContextWrapper.java:554)
       at ddolcatmaster.mypowermanagement.BatteryManageService.regisiterReceiver(ManageService.java)
       at ddolcatmaster.mypowermanagement.BatteryManageService.onStartCommand(ManageService.java)
       at android.app.ActivityThread.handleServiceArgs + 3284(ActivityThread.java:3284)
       at android.app.ActivityThread.access$2200 + 196(ActivityThread.java:196)
       at android.app.ActivityThread$H.handleMessage + 1637(ActivityThread.java:1637)
       at android.os.Handler.dispatchMessage + 111(Handler.java:111)
       at android.os.Looper.loop + 210(Looper.java:210)
       at android.app.ActivityThread.main + 5988(ActivityThread.java:5988)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 852(ZygoteInit.java:852)
       at com.android.internal.os.ZygoteInit.main + 742(ZygoteInit.java:742)

오류가 발생한 폰의 종류 및 운영체제는 아래와 같다.


안드로이드는 휴대폰 제조사별로 커스트마이징하기때문에 운영체제의 파편화가 심하다.

화훼이 폰의 해결법은 있는 듯 한데…. 라이브러리를 추가해야되는 것 같다. 별로 시도하고 싶지않은 방법이다

 

java.lang.IllegalArgumentException: register too many Broadcast Receivers

휴대폰 운영체제 자체적으로 백그라운드서비스 제한을 두는 문제기 때문에 이걸 코드상으로 해결할 방법이 있을까 하는 생각이 든다. 

위 오류가 발생하는 경우 , 사용자에게 알림메세지를 주는 방법도 괜찮을 듯 하다.

Leave a Reply

error: Content is protected !!