apk(点击下载) / AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1422" android:versionName="v4.10.1422 (08.06.2024)" android:installLocation="auto" android:compileSdkVersion="34" android:compileSdkVersionCodename="14" package="com.aimp.player" platformBuildVersionCode="34" platformBuildVersionName="14"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="34" />
    <uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
    <uses-feature android:name="android.hardware.faketouch" android:required="false" />
    <permission android:name="com.aimp.player.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature" />
    <uses-permission android:name="com.aimp.player.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
    <application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:name="com.aimp.player.App" android:enabled="true" android:allowBackup="false" android:largeHeap="true" android:extractNativeLibs="false" android:fullBackupContent="false" android:usesCleartextTraffic="true" android:roundIcon="@mipmap/ic_launcher" android:appCategory="audio" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:requestLegacyExternalStorage="true" android:dataExtractionRules="@xml/backup_rules">
        <meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc" />
        <meta-data android:name="com.google.android.gms.car.notification.SmallIcon" android:resource="@drawable/ic_notification" />
        <service android:name="com.aimp.player.service.AppService" android:exported="true" android:foregroundServiceType="mediaPlayback">
            <intent-filter>
                <action android:name="android.media.browse.MediaBrowserService" />
                <action android:name="com.aimp.service.action.addToBookmarks" />
                <action android:name="com.aimp.service.action.addToFavorites" />
                <action android:name="com.aimp.service.action.exit" />
                <action android:name="com.aimp.service.action.exitOnClear" />
                <action android:name="com.aimp.service.action.nextTrack" />
                <action android:name="com.aimp.service.action.nextGroup" />
                <action android:name="com.aimp.service.action.nextPlaylist" />
                <action android:name="com.aimp.service.action.pause" />
                <action android:name="com.aimp.service.action.play" />
                <action android:name="com.aimp.service.action.playOrPause" />
                <action android:name="com.aimp.service.action.prevTrack" />
                <action android:name="com.aimp.service.action.prevGroup" />
                <action android:name="com.aimp.service.action.prevPlaylist" />
                <action android:name="com.aimp.service.action.rewind" />
                <action android:name="com.aimp.service.action.fastForward" />
                <action android:name="com.aimp.service.action.startFromBeginning" />
                <action android:name="com.aimp.service.action.stop" />
                <action android:name="com.aimp.service.action.toggleLiked" />
                <action android:name="com.aimp.service.action.toggleRepeatMode" />
                <action android:name="com.aimp.service.action.toggleShuffleMode" />
                <action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
                <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
            </intent-filter>
        </service>
        <service android:label="@string/app_name" android:icon="@drawable/ic_notification_material" android:name="com.aimp.player.service.TileService" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" android:exported="true" android:roundIcon="@drawable/ic_notification_material">
            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE" android:value="true" />
            <intent-filter>
                <action android:name="android.service.quicksettings.action.QS_TILE" />
            </intent-filter>
        </service>
        <service android:name="com.aimp.player.service.BackupService" android:foregroundServiceType="dataSync" />
        <service android:name="com.aimp.player.service.CopyFileService" android:foregroundServiceType="dataSync" />
        <activity android:name="com.aimp.player.ui.activities.main.MainActivity" android:exported="true" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.MUSIC_PLAYER" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.APP_MUSIC" />
                <category android:name="android.intent.category.CATEGORY_APP_MUSIC" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
                <data android:scheme="content" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:mimeType="application/ape" />
                <data android:mimeType="application/dff" />
                <data android:mimeType="application/dsf" />
                <data android:mimeType="application/flac" />
                <data android:mimeType="application/itunes" />
                <data android:mimeType="application/mp4*" />
                <data android:mimeType="application/mpeg*" />
                <data android:mimeType="application/mpegurl" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/opus" />
                <data android:mimeType="application/vnd.apple.mpegurl" />
                <data android:mimeType="application/wv" />
                <data android:mimeType="application/x-ape" />
                <data android:mimeType="application/x-cue" />
                <data android:mimeType="application/x-dff" />
                <data android:mimeType="application/x-dsf" />
                <data android:mimeType="application/x-extension-mp4" />
                <data android:mimeType="application/x-flac" />
                <data android:mimeType="application/x-flac" />
                <data android:mimeType="application/x-mpegurl" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/x-opus" />
                <data android:mimeType="application/x-winamp-playlist" />
                <data android:mimeType="application/x-wv" />
                <data android:mimeType="application/xspf+xml" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="audio/dsd" />
                <data android:mimeType="audio/dsf" />
                <data android:mimeType="audio/flac" />
                <data android:mimeType="audio/ogg" />
                <data android:mimeType="audio/opus" />
                <data android:mimeType="audio/x-flac" />
                <data android:mimeType="audio/x-dsd" />
                <data android:mimeType="audio/x-dsf" />
                <data android:mimeType="audio/x-matroska" />
                <data android:mimeType="audio/x-mpegurl" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
                <data android:scheme="content" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:host="*" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.acsm" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.aac" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.aif" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.aiff" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.ape" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.dsd" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.dsf" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.fla" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.flac" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.it" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.m4a" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.m4b" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mac" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mo3" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mod" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mp+" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mp3" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mp4" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mpc" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mpga" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mpp" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.mtm" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.oga" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.ogg" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.opus" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.s3m" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.umx" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.wav" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.wv" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.xm" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.cue" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.m3u" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.m3u8" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.xspf" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.aimpbpl" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.EDIT" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
                <data android:scheme="content" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:host="*" />
                <data android:mimeType="*/*" android:pathPattern=".*\\.acsm" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
            </intent-filter>
        </activity>
        <activity android:name="com.aimp.player.ui.activities.AboutActivity" />
        <activity android:name="com.aimp.player.ui.activities.BookmarksActivity" />
        <activity android:name="com.aimp.player.ui.activities.PlaylistManagerActivity" />
        <activity android:name="com.aimp.player.ui.activities.dspmanager.DSPManagerActivity" />
        <activity android:name="com.aimp.player.ui.activities.fileinfo.FileInfoActivity" android:windowSoftInputMode="adjustResize" />
        <activity android:name="com.aimp.player.ui.activities.filebrowser.FileBrowserActivity" />
        <activity android:name="com.aimp.player.ui.activities.QueueActivity" />
        <activity android:name="com.aimp.player.ui.activities.settings.SettingsActivity" />
        <activity android:theme="@style/AppThemeWelcomeScreen" android:name="com.aimp.player.ui.activities.welcome.WelcomeActivity" />
        <activity android:theme="@style/WidgetConfiguratorTheme" android:name="com.aimp.player.ui.activities.ShortcutsActivity" />
        <activity android:theme="@style/WidgetConfiguratorTheme" android:name="com.aimp.player.widgets.WidgetConfigurator" android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity>
        <receiver android:name="com.aimp.player.service.helpers.MediaButtonHandler" android:exported="true">
            <intent-filter android:priority="999">
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </receiver>
        <receiver android:label="AIMP" android:icon="@mipmap/ic_launcher" android:name="com.aimp.player.widgets.Widget" android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_metadata" />
        </receiver>
        <provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="com.aimp.player" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
        </provider>
        <property android:name="android.content.MEDIA_CAPABILITIES" android:resource="@xml/media_capabilities" />
        <provider android:name="androidx.startup.InitializationProvider" android:exported="false" android:authorities="com.aimp.player.androidx-startup">
            <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup" />
            <meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup" />
            <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer" android:value="androidx.startup" />
        </provider>
        <service android:name="androidx.room.MultiInstanceInvalidationService" android:exported="false" android:directBootAware="true" />
        <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver" android:permission="android.permission.DUMP" android:enabled="true" android:exported="true" android:directBootAware="false">
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
            </intent-filter>
            <intent-filter>
                <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
            </intent-filter>
        </receiver>
    </application>
</manifest>