2014-11-24 26 views
5

Có vẻ như một số các chức năng DeviceAdmin đã bị phá vỡ trong Lollipop, ít nhất là trên Nexus của tôi 5.DevicePolicyManger(). GetCurrentFailedPasswordAttempts treo ứng dụng

này hoạt động hoàn hảo trên KitKat, Jellybean và Ice Cream Sandwich

@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); 
    } 
} 

Nhưng trên Nexus của tôi 5 với Android 5.0 Lollipop nó tạo ra các lỗi sau:

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.

Câu hỏi của tôi, điều gì đang gây ra điều này?

+0

FYI: ứng dụng của tôi có cùng vấn đề nên bạn không đơn độc. Tôi "giải quyết" nó với một khối try catch đơn giản - ít nhất là ứng dụng sẽ không sụp đổ nữa. –

+0

Cảm ơn @TheisBorg - Bây giờ, tôi sẽ chỉ giữ một tham chiếu tĩnh để mở khóa các nỗ lực, cho đến khi một anh hùng đến và tiết kiệm trong ngày .. – Jakob

Trả lời

0

Tôi đã gặp lỗi tương tự rồi tôi nhận ra rằng nó có thể không hoạt động đối với phiên bản 5.0 trở lên.Điều tôi đã làm là kiểm tra số lần thử sai chương trình.Like Nếu ai đó muốn mở khóa hình hoặc ghim nếu anh ta nhập sai thì người nhận sẽ bắt và gọi phương thức passwordFailed(). Tôi đã tạo trên đối tượng SharedPreference và tôi đang lưu trữ số phương thức passwordFailed() được gọi. Dựa trên đó tôi nhận được số lượng các mẫu sai. Tôi nghĩ đây là cách chính xác hay không tôi không biết.

Các vấn đề liên quan