基于MobileSDKV4版固件开发大疆无人机手机端遥控器(1) |
您所在的位置:网站首页 › 大疆遥控器模拟器app下载安装 › 基于MobileSDKV4版固件开发大疆无人机手机端遥控器(1) |
public class MainActivity extends AppCompatActivity { private static final String TAG = MainActivity.class.getName(); public static final String FLAG_CONNECTION_CHANGE = "dji_sdk_connection_change"; private static BaseProduct mProduct; private Handler mHandler; private static final String[] REQUIRED_PERMISSION_LIST = new String[]{ Manifest.permission.VIBRATE, Manifest.permission.INTERNET, Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.WAKE_LOCK, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CHANGE_WIFI_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.BLUETOOTH, Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE, }; private List missingPermission = new ArrayList(); private AtomicBoolean isRegistrationInProgress = new AtomicBoolean(false); private static final int REQUEST_PERMISSION_CODE = 12345; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // When the compile and target version is higher than 22, please request the following permission at runtime to ensure the SDK works well. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { checkAndRequestPermissions(); } setContentView(R.layout.activity_main); //Initialize DJI SDK Manager mHandler = new Handler(Looper.getMainLooper()); } /** * Checks if there is any missing permissions, and * requests runtime permission if needed. */ private void checkAndRequestPermissions() { // Check for permissions for (String eachPermission : REQUIRED_PERMISSION_LIST) { if (ContextCompat.checkSelfPermission(this, eachPermission) != PackageManager.PERMISSION_GRANTED) { missingPermission.add(eachPermission); } } // Request for missing permissions if (missingPermission.isEmpty()) { startSDKRegistration(); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { showToast("Need to grant the permissions!"); ActivityCompat.requestPermissions(this, missingPermission.toArray(new String[missingPermission.size()]), REQUEST_PERMISSION_CODE); } } /** * Result of runtime permission request */ @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); // Check for granted permission and remove from missing list if (requestCode == REQUEST_PERMISSION_CODE) { for (int i = grantResults.length - 1; i >= 0; i--) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { missingPermission.remove(permissions[i]); } } } // If there is enough permission, we will start the registration if (missingPermission.isEmpty()) { startSDKRegistration(); } else { showToast("Missing permissions!!!"); } }} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |