Android手持机扫码出入库的开发详解-10.Android配置文件详细说明

35 阅读1分钟

Android手持机扫码出入库的开发详解-10.Android配置文件详细说明

Android配置文件详细说明

AndroidManifest.xml配置程序图

flowchart TD
    A[应用配置] --> B[权限声明]
    A --> C[应用组件]
    A --> D[服务声明]
    A --> E[广播接收器]
    A --> F[元数据配置]
    B --> G[网络权限]
    B --> H[存储权限]
    B --> I[相机权限]
    C --> J[Activity声明]
    C --> K[Intent Filter配置]

Android配置文件源代码

<!-- AndroidManifest.xml - Android配置核心代码 -->
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cbw.materials">

    <!-- 权限声明 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    
    <!-- 应用声明 -->
    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        
        <!-- 活动声明 -->
        <activity android:name=".controller.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        <activity android:name=".controller.MainInterface" />
        <activity android:name=".controller.ScanCodeInStorage" />
        <activity android:name=".controller.ScanCodeOutStorage" />
        <activity android:name=".controller.ScanCodeInventoryCheck" />
        
        <!-- 文件提供者 -->
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="cbw.materials.fileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>
        
        <!-- 广播接收器 -->
        <receiver android:name=".broadcast.ScanReceiver">
            <intent-filter>
                <action android:name="com.symbol.datawedge.api.RESULT_ACTION" />
                <action android:name="com.symbol.datawedge.api.NOTIFICATION_ACTION" />
                <action android:name="com.zebra.scanintent.action.RESULT_DATA" />
            </intent-filter>
        </receiver>
        
        <!-- 服务 -->
        <service android:name=".service.SyncService" />
    </application>
</manifest>
<!-- file_paths.xml - 文件路径配置 -->
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="./" />
    <files-path name="files" path="./" />
    <cache-path name="cache" path="./" />
    <external-cache-path name="external_cache" path="./" />
</paths>