ActivityCompat.requestPermissions
जैसे तरीके की आवश्यकता है कि मैं उन्हें एक अनुरोध कोड पास कर दूं जिसे मैं बाद में कॉलबैक में जांच सकता हूं (इस मामले में onRequestPermissionsResult
)। क्या अनुरोध है कि मुझे कुछ बेहतरीन अभ्यास प्रकार का मूल्य है जिसे मैं पासकोड में पास करना चाहता हूं? मैंने देखा है कि अगर मैं एक यादृच्छिक int
दर्ज मैं कभी कभी इस तरह एक त्रुटि प्राप्त:एंड्रॉइड: अनुरोध कोड के लिए क्या चुनना है?
java.lang.IllegalArgumentException: Can only use lower 8 bits for requestCode
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: FATAL EXCEPTION: main
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: Process: my package, PID: 8315
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage.myactivity}: java.lang.IllegalArgumentException: Can only use lower 8 bits for requestCode
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Can only use lower 8 bits for requestCode
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.support.v4.app.FragmentActivity.validateRequestPermissionsRequestCode(FragmentActivity.java:799)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.support.v4.app.ActivityCompatApi23.requestPermissions(ActivityCompat23.java:29)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.support.v4.app.ActivityCompat.requestPermissions(ActivityCompat.java:316)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at mypackage.myactivity.checkReadPhoneState(PermissionsGatewayActivity.java:48)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at mypackage.myactivity.onCreate(PermissionsGatewayActivity.java:36)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6237)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
10-25 16:47:43.652 8315-8315/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
1 से 255 के बीच अनुरोध कोड आज़माएं। –
इसका क्या अर्थ है? तो सैद्धांतिक रूप से आप समानांतर में 256 से अधिक अनुरोध नहीं चल सकते थे? (हास्यास्पद हालांकि यह होगा) – Jon
मुझे लगता है कि असली दुनिया परिदृश्य में संख्या पर्याप्त है। –