2014-11-24 4 views
5

लगता दुर्घटनाओं 5.DevicePolicyManger()। GetCurrentFailedPasswordAttempts तरह DeviceAdmin कार्यक्षमता के कुछ लॉलीपॉप में टूट चुका है, कम से कम मेरे Nexus पर एप्लिकेशन

यह किटकैट, JellyBean और आइस क्रीम सैंडविच पर पूरी तरह से काम करता है

@Override 
public void onPasswordFailed(Context context, Intent intent) { 

    DevicePolicyManager policyManager = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE); 
    if(policyManager != null){ 
     int attempts = policyManager.getCurrentFailedPasswordAttempts(); 
     Log.v("TAG", "Attempts = " + attempts); 
    } 
} 

लेकिन मेरे नेक्सस 5 एंड्रॉयड 5.0 के साथ पर यह निम्न त्रुटि पैदा करता Lollipop:

11-24 16:11:50.117 27053-27053/com.example.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.example.myapp, PID: 27053 
    java.lang.RuntimeException: Unable to start receiver com.example.myapp.receivers.AdminReceiver: java.lang.NullPointerException: Attempt to read from field 'int android.content.pm.UserInfo.id' on a null object reference 
      at android.app.ActivityThread.handleReceiver(ActivityThread.java:2586) 
      at android.app.ActivityThread.access$1700(ActivityThread.java:144) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5221) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
    Caused by: java.lang.NullPointerException: Attempt to read from field 'int android.content.pm.UserInfo.id' on a null object reference 
      at android.os.Parcel.readException(Parcel.java:1546) 
      at android.os.Parcel.readException(Parcel.java:1493) 
      at android.app.admin.IDevicePolicyManager$Stub$Proxy.getCurrentFailedPasswordAttempts(IDevicePolicyManager.java:2476) 
      at android.app.admin.DevicePolicyManager.getCurrentFailedPasswordAttempts(DevicePolicyManager.java:1261) 
      at com.example.myapp.receivers.AdminReceiver.onPasswordFailed(AdminReceiver.java:48) 
      at android.app.admin.DeviceAdminReceiver.onReceive(DeviceAdminReceiver.java:417) 
      at android.app.ActivityThread.handleReceiver(ActivityThread.java:2579) 
            at android.app.ActivityThread.access$1700(ActivityThread.java:144) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:135) 
            at android.app.ActivityThread.main(ActivityThread.java:5221) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:372) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

It's been reported as an issue in the L-preview as well.

मेरा प्रश्न, यह क्या कारण है?

+0

एफवाईआई: मेरे ऐप में एक ही समस्या है इसलिए आप अकेले नहीं हैं। मैंने इसे सरल कोशिश पकड़ ब्लॉक के साथ "हल" किया - कम से कम ऐप अब क्रैश नहीं होगा। –

+0

धन्यवाद @TheisBorg - अभी के लिए, मैं केवल प्रयासों को अनलॉक करने के लिए एक स्थिर संदर्भ रखूंगा, जब तक नायक आता है और दिन बचाता है .. – Jakob

उत्तर

0

मुझे एक ही त्रुटि मिली है, तो मुझे एहसास हुआ कि यह संस्करण 5.0 और ऊपर के संस्करणों के लिए काम नहीं कर सकता है। इसलिए मैंने जो किया है, मैं प्रोग्रामेटिक रूप से गलत प्रयासों की संख्या की जांच कर रहा हूं। जैसे कोई पैटर्न या पिन अनलॉक करना चाहता है अगर वह गलत प्रवेश करता है तो रिसीवर पासवर्ड पकड़ लेगा और कॉल करेगा फेल() विधि। इसलिए मैंने साझा प्रेफरेंस ऑब्जेक्ट पर बनाया है और मैं पासवर्ड की संख्या संग्रहीत कर रहा हूं फेल() विधि को बुलाया जाता है। उस पर आधारित मुझे गलत पैटर्न मिल रहे हैं। मुझे लगता है कि यह सही तरीका है या नहीं, मुझे नहीं पता।

संबंधित मुद्दे