I have created device info app but my app only crash in android 10. Please tell me how to solve this issue
java.lang.SecurityException com.marsad.deviceinfo.DeviceIDActivity.onRequestPermissionsResult
Here is the logcat
java.lang.RuntimeException: at android.app.ActivityThread.deliverResults (ActivityThread.java:5096) at android.app.ActivityThread.handleSendResult (ActivityThread.java:5137) at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:51) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2146) at android.os.Handler.dispatchMessage (Handler.java:107) at android.os.Looper.loop (Looper.java:237) at android.app.ActivityThread.main (ActivityThread.java:7770) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1047) Caused by: java.lang.SecurityException: at android.os.Parcel.createException (Parcel.java:2088) at android.os.Parcel.readException (Parcel.java:2056) at android.os.Parcel.readException (Parcel.java:2004) at com.android.internal.telephony.ITelephony$Stub$Proxy.getDeviceId (ITelephony.java:11175) at android.telephony.TelephonyManager.getDeviceId (TelephonyManager.java:2282) at com.marsad.deviceinfo.DeviceIDActivity.onRequestPermissionsResult (DeviceIDActivity.java:17) at android.app.Activity.dispatchRequestPermissionsResult (Activity.java:8500) at android.app.Activity.dispatchActivityResult (Activity.java:8322) at android.app.ActivityThread.deliverResults (ActivityThread.java:5089) at android.app.ActivityThread.handleSendResult (ActivityThread.java:5137) at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:51) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2146) at android.os.Handler.dispatchMessage (Handler.java:107) at android.os.Looper.loop (Looper.java:237) at android.app.ActivityThread.main (ActivityThread.java:7770) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1047)
Code :
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case READ_PHONE_STATE_PERMISSION:{
if (grantResults.length>=0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
recreate(); //restart activity on permission granted
imei = tm.getDeviceId();
simSerial = tm.getSimSerialNumber();
simSubscriberID = tm.getSubscriberId();
} else {
Toast.makeText(this, "Enable READ_PHONE_STATE Permission From Settings", Toast.LENGTH_SHORT).show();
}
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}