基于MobileSDKV4版固件开发大疆无人机手机端遥控器(1)

您所在的位置:网站首页 大疆遥控器模拟器app下载安装 基于MobileSDKV4版固件开发大疆无人机手机端遥控器(1)

基于MobileSDKV4版固件开发大疆无人机手机端遥控器(1)

2023-06-13 10:14| 来源: 网络整理| 查看: 265

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