Monkey2Permissions.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.monkey2.lib;
  2. import android.util.Log;
  3. import android.support.v4.content.ContextCompat;
  4. import android.support.v4.app.ActivityCompat;
  5. import android.Manifest;
  6. import android.content.pm.PackageManager;
  7. public class Monkey2Permissions extends Monkey2Activity.Delegate{
  8. private static final String TAG = "Monkey2Permissions";
  9. String result="";
  10. int callback;
  11. Monkey2Permissions(){
  12. Monkey2Activity.instance().addDelegate( this );
  13. }
  14. public int checkPermission( String permission ){
  15. if( ContextCompat.checkSelfPermission( Monkey2Activity.instance(),permission )==PackageManager.PERMISSION_GRANTED ) return 1;
  16. return 0;
  17. }
  18. public void requestPermissions( String permissions,int callback ){
  19. this.callback=callback;
  20. ActivityCompat.requestPermissions( Monkey2Activity.instance(),permissions.split( ";" ),101 );
  21. }
  22. public String requestPermissionsResult(){
  23. return result;
  24. }
  25. public void onRequestPermissionsResult( int requestCode,String[] permissions,int[] results ){
  26. switch( requestCode ){
  27. case 101:
  28. result="";
  29. for( int i=0;i<results.length;++i ){
  30. if( i>0 ) result+=";";
  31. this.result+=(results[i]==PackageManager.PERMISSION_GRANTED ? "1" : "0" );
  32. }
  33. Monkey2Async.invokeAsyncCallback( callback );
  34. }
  35. }
  36. }