2013-01-17 10 views
9

Uygulamam hata bildirimi için ACRA kullanıyor ve aygıtımdan hatayla birkaç rapor aldım: requestCode için yalnızca 16 bite kullanabilirsiniz .. Google bunu gösterir startActivityForResult kullanırken hata oluşuyor, ancak kodumu birkaç kez aradım ve her yerde onu aramıyorum.ACRA özel durumu RequestCode için yalnızca 16 bit daha az kullanılabilir.

Çok şaşırdım ve bunun kullanıcıları nasıl etkilediğini merak ediyorum (ilginç bir şekilde, Crash Reports beta) hiç hataları göstermez. Bu işe

Başkasının run?

java.lang.RuntimeException: Unable to resume activity {com.myapp/com.myapp.MyActivity}: 
java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode 
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2120) 
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:957) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3683) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode 
at android.support.v4.app.g.startActivityForResult(SourceFile:690) 

Birisi bana yardım edebilir mi?

+1

olası yinelenen [Android ile İstisna zaman kullanarak ACRA] (http://stackoverflow.com/questions/14378002/exception-with-android-when-using-acra) –

cevap

14

RequestCodes yalnızca en fazla 0xffff (65535) olabilir. Yani muhtemelen startActivityForResult(intent, REQUEST_CODE); ve REQUEST_CODE aradığınız büyüktür 65535

Çözümler:

  • yapmak çoğunlukla kesmek için aşağı gelecek senin büyük istek kodları (işlemek için istek kodu daha küçük
  • geçersiz kılma startActivityForResult o İstek kodunuzu sınırlar içinde itmek için başka herhangi bir değişiklik ya da başka bir manipülasyon) linked answer (yukarıdan) içinde, startActivityForResult kodunda, Raghav Sood tarafından çalıştırdığınız sorun var.
ait
+1

ve "istek yapmak için en kolay yolu kod küçük "sadece çok uzun" kodunuza "0xFFFF" eklemek –

+2

(VE BU KODUN POZİTİF BİR DEĞERDİR OLDUĞUNDAN EMİN OLUN) –