android 开发部分需要注意的小问题

Android 由于版本的更迭,部分操作需要有一些小改动,通常只在项目开始的时候用一下,时间长了容易忘记,在此做个笔记。

目录

1、Android 文件操作

2、Android 相机拍照

3、flutter修改sdk路径



1、Android 文件操作

Android 开发中经常需要读取文件,除了正常的权限变更获取之外还需要在 AndroidManifest.xml 中注册文件服务,这个经常忘记,报错才会想起来。

<application
    ........

    <!-- 文件服务 -->
    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="applicationId.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_path" />
    </provider>
</application>

在 res资源文件夹中新建 xml 文件夹,并在 xml 下建 文件 file_path.xml 内容如下

<?xml version="1.0" encoding="utf-8"?>
<resources>
<paths>
    <external-path name="ext_root" path="/" />
</paths>
</resources>

2、Android 相机拍照

Android 中使用相机的场景 通常为 扫描和拍照,扫描正常操作就好了,如果相机用到拍照的话,那么需要在 Application 中 设置 StrictMode 才能正常使用拍照功能,代码如下

val builder = StrictMode.VmPolicy.Builder()
StrictMode.setVmPolicy(builder.build())
builder.detectFileUriExposure()

以上是两个不怎么能记住的点

3、flutter修改sdk路径

flutter config --android-sdk *******

*****替换成sdk路径

4、打开APP的应用信息设置页面

Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
context.startActivity(intent);