Can't close Finalize Activity in my app and repeat it during provision and enrollment using scan QR code in android version 12

28 Views Asked by At

I make reset for the device. During downloading my app and getting Device Owner(DO) using QR code, My app not moves forward to open device and not exit the app and repeating Finalize Activity in my app in Version 12. My Manifest file:-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="egypt.mod.mdmclient"
    tools:ignore="MissingClass"
    android:versionCode="8"
    android:versionName="V200R005C001B006">
    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="33"/>

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission
        android:name="android.permission.MODIFY_PHONE_STATE"
        tools:ignore="ProtectedPermissions" />
    <uses-permission
        android:name="android.permission.DELETE_PACKAGES"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
    <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
    <uses-permission android:name="android.permission.REBOOT" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="huawei.android.permission.HW_SIGNATURE_OR_SYSTEM" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.DISABLE_STATUS_BAR" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
    <uses-permission android:name="com.huawei.permission.sec.ACCESS_UDID" />
    <uses-permission android:name="com.huawei.permission.sec.SDK_LAUNCHER" />
    <uses-permission android:name="com.huawei.systemmanager.permission.ACCESS_INTERFACE" />
    <uses-permission android:name="com.huawei.permission.sec.MDM" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_WIFI" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_BLUETOOTH" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_SETTINGS_RESTRICTION" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_APP_MANAGEMENT" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_SDCARD" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_USB" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_TELEPHONY" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_DEVICE_MANAGER" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_CAMERA" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_FINGERPRINT" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_PHONE_MANAGER" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_EMAIL" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_PHONE" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_MMS" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_NFC" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_KEYGUARD" />
    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_APN" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_LOCATION" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_CAPTURE_SCREEN" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_NETWORK_MANAGER" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_CLIPBOARD" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_GOOGLE_ACCOUNT" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_UPDATESTATE_MANAGER" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_LAUNCHER" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_INSTALL_SYS_APP" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_INSTALL_UNDETACHABLE_APP" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_VPN" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_CONNECTIVITY" />
    <uses-permission android:name="egypt.mod.tms.permission.PROCESS_PUSH_MSG" />
    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.STATUS_BAR" /> <!-- 弹出 -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 亮屏的权限 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.USES_POLICY_FORCE_LOCK" />
    <uses-permission android:name="com.huawei.permission.sec.MDM_DEVICE_OWNER" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
    <uses-permission
        android:name="android.permission.INSTALL_PACKAGES"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="lte.trunk.permission.READ_PHONE_STATE" />

    <permission android:name="egypt.mod.mdmclient.permission.USE_EGYPT_MOD_MDMAPI" />
    <permission android:name="egypt.mod.mdmclient.permission.WRITE_EGYPT_MOD_MDMAPI" />
    <permission android:name="egypt.mod.mdmclient.permission.READ_EGYPT_MOD_MDMAPI" />

    <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />

    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_DEVICE_SETTINGS"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_PERIPHERAL"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_AI"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_DEVICE_SETTINGS_RT"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_PERIPHERAL_RT"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_NDA_AI_RT"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_HW_CONTROL"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_CUSTOM_SETTING"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_CUSTOM_SYSTEM"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_WIFI"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_BLUETOOTH"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_RESTRICTION_MGMT"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_APP_MGMT"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_DEX"/>
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_ADVANCED_SECURITY" />
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_CONTAINER" />
    <uses-permission android:name="com.samsung.android.knox.permission.KNOX_LOCATION" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"/>
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
    <uses-permission android:name="com.google.android.setupwizard.SETUP_COMPAT_SERVICE" />
    <uses-feature android:name="android.hardware.wifi" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>



    <application
        android:icon="@mipmap/ic_launcher"
        android:banner="@mipmap/ic_launcher"
        android:allowBackup="true"
        android:label="@string/app_name"
        >


        <activity
            android:name=".ui.LostModeActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleInstance"
            android:resizeableActivity="false"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.NoActionBar">

            <meta-data
                android:name="hw.gesture_nav_options"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                android:value="12582912" />
        </activity>

        <activity
            android:name=".ui.LBActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleInstance"
            android:resizeableActivity="false"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.NoActionBar"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="hw.gesture_nav_options"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                android:value="12582912" />
        </activity>

        <activity
            android:name=".ui.MdmLockActivity"
            android:exported="false"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />

        <activity
            android:name=".ui.PermissionsActivity"
            android:exported="false"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />

        <activity
            android:name=".ui.LockScreenActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleTask"
            android:resizeableActivity="false"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.NoActionBar">

            <meta-data
                android:name="hw.gesture_nav_options"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                android:value="12582912" />
        </activity>

        <activity
            android:name="egypt.mod.mdmclient.screen.FinalizeActivity"
            android:exported="true"
            android:label="@string/app_name"

            android:permission="android.permission.BIND_DEVICE_ADMIN">
            <intent-filter>
                <action android:name="android.app.action.ADMIN_POLICY_COMPLIANCE" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <activity
            android:name="egypt.mod.mdmclient.util.cosu.EnableCosuActivity"
            android:exported="false"
            android:label="@string/app_name"
            />

        <activity
            android:name="egypt.mod.mdmclient.screen.AddAccountActivity"
            android:exported="false"
            android:label="@string/app_name"
            />

        <activity
            android:name="egypt.mod.mdmclient.screen.KioskModeActivity"
            android:exported="true"
            android:label="@string/kiosk_mode"
            android:launchMode="singleInstance"
            android:enabled="false">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.HOME"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <activity android:name="egypt.mod.mdmclient.util.provision.GetProvisioningModeActivity"
            android:exported="true"
            android:permission="android.permission.BIND_DEVICE_ADMIN"
            android:theme="@style/DpcLoginTheme">
            <intent-filter>
                <action android:name="android.app.action.GET_PROVISIONING_MODE" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <activity
            android:name="egypt.mod.mdmclient.util.provision.ProvisioningSuccessActivity"
            android:exported="true"
            android:theme="@android:style/Theme.NoDisplay">
            <intent-filter>
                <action android:name="android.app.action.PROVISIONING_SUCCESSFUL"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <activity
            android:name="egypt.mod.mdmclient.screen.PolicyManagementActivity"
            android:label="@string/app_name"
            android:exported="true"
            android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.app.action.CHECK_POLICY_COMPLIANCE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <receiver android:name=".receiver.SamsungKnoxLicenseReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.samsung.android.knox.intent.action.KNOX_LICENSE_STATUS" />
            </intent-filter>
        </receiver>

        <receiver
            android:name=".MDMAdminReceiver"
            android:exported="true"
            android:description="@string/app_name"
            android:label="@string/app_name"
            android:permission="android.permission.BIND_DEVICE_ADMIN">
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@xml/device_admin" />
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
                <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE"/>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.app.action.PROFILE_OWNER_CHANGED"/>
                <action android:name="android.app.action.DEVICE_OWNER_CHANGED"/>
            </intent-filter>
        </receiver>

        <receiver
            android:name=".receiver.BootReceiver"
            android:directBootAware="true"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
            </intent-filter>
        </receiver>




        <service
            android:name=".MainService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="egypt.mod.action.MDM_SERVICE" />

                <category android:name="lte.egypt.tms.category.RESIDENT_SERVICE" />
            </intent-filter>
        </service>




        <provider
            android:name="egypt.mod.http.platform.file.BaseFileTransferDBProvider"
            android:authorities="lte.trunk.egypt.mod.http.platform.file.FileTransferDBProvider"
            android:directBootAware="true" />
        <provider
            android:name=".db.MdmTaskDbProvider"
            android:authorities="egypt.mod.tms.mdm"
            android:directBootAware="true" />
        <provider
            android:name=".provider.MdmApiProvider"
            android:authorities="egypt.mod.mdmclient.api"
            android:directBootAware="true"
            android:exported="true"
            android:readPermission="egypt.mod.mdmclient.permission.READ_EGYPT_MOD_MDMAPI"
            android:writePermission="egypt.mod.mdmclient.permission.WRITE_EGYPT_MOD_MDMAPI" />
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="egypt.mod.mdmclient.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths" />
        </provider>
        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup"
            tools:node="remove" />

        <provider
            android:authorities="egypt.mod.mdmclient.provider.UserIconContentProvider"
            android:name="egypt.mod.mdmclient.provider.UserIconContentProvider"
            android:grantUriPermissions="true"
            android:exported="true">
        </provider>



        <meta-data
            android:name="com.td.tms.client.appid"
            android:value="@string/appid" />

    </application>

</manifest>

What I have already tried:

Installing the app on a real device using the QR Code It successfully sets the app as a Device owner(after factory reset) but can't open device.

0

There are 0 best solutions below