Hier zur Laufzeit überprüft die MainActivity code.From die onCreate() Methode von MainActivitypermissionCheck() Methode der MultiplePermission Klasse aufgerufen wird.Nullpointer bekommen, während die Erlaubnis in android
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(Build.VERSION.SDK_INT >= 23){
MultiplePermission multiplePermission = new MultiplePermission();
if(multiplePermission.permissionCheck()){
Toast.makeText(this, "All permission granted", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show();
}
}
}
}
MultiplePermission Klassencode folgt. Die permissionCheck() Methode dieser Klasse überprüfen Sie die Android-Berechtigung zur Laufzeit.Wenn keine Berechtigung verweigert wird, wird die gesamte Anwendung geschlossen.
Und hier ist die Fehlermeldung.
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
at android.content.ContextWrapper.checkPermission(ContextWrapper.java:669)
at android.support.v4.content.ContextCompat.checkSelfPermission(ContextCompat.java:453)
at testapp.android.vogella.com.permissiontest.MultiplePermission.hasPermissions(MultiplePermission.java:40)
at testapp.android.vogella.com.permissiontest.MultiplePermission.permissionCheck(MultiplePermission.java:29)
at testapp.android.vogella.com.permissiontest.MainActivity.onCreate(MainActivity.java:16)
at android.app.Activity.performCreate(Activity.java:6664)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
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)