I was trying to access showAlertForPermission
from onRequestPermissionsResult
which is in FilesActivity.java but it gives nullpointerexception
at line
Uri uri = Uri.fromParts("package", getPackageName(), null);
In ConnectionActivity.java :
public void showAlertForPermission (Context context){
AlertDialog.Builder NeverPopUp =new AlertDialog.Builder(context);
NeverPopUp.setMessage("To continue, allow \"iXm Uplink\" access to your device's audio files. Tap Settings > Permissions, and turn Storage on.")
.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//settings
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
}
})
.setNegativeButton("Not Now", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Exit
}
})
.show();
}
In FilesActivity.java :
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.v("Storage: ","Storage permissions Granted");
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale(FilesActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
//Shows permission explanation using dialog window
} else {
connectedActivity.showAlertForPermission(FilesActivity.this);
}
}
}
}
}
Error :
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.content.ContextWrapper.getPackageName(ContextWrapper.java:132)
at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
After some search i tried :
Intent intent = new Intent(activity, FileActivity.class);
error does exits, what i did wrong?