在Android窗口管理器上显示视图

6tqwzwtp  于 2023-01-07  发布在  Android
关注(0)|答案(1)|浏览(135)

我创建了一个音频播放器应用程序,并将其设置为打开音频文件的默认应用程序。
现在,当我从filemanager中单击音频文件时,它会打开我的应用程序,或者更确切地说,是接收音频文件的Activity。
但我不希望这样,我希望我的应用程序中的自定义视图显示在filemanager应用程序上,就像下面的图像一样

执行此操作的应用程序是YT Music。我注意到,AndroidWindowManager没有执行此操作,因为我禁用了YT Music应用程序上的Draw over apps,但它仍然会弹出视图
有谁能给予我是怎么做的?

就像我说的,我有一个自定义视图,当单击音频文件时,我希望在文件管理器上显示该视图,如果有代码,它应该是Java

huwehgph

huwehgph1#

所以经过一番研究,我得到了我要找的...
首先,它只是一个显示为对话框的正常活动。
我创建了一个Activity(DialogBoxActivity.java),并在AndroidManifest.xml中为其指定了一个对话主题

    • 安卓清单. xml**
<activity
    android:name=".DialogBoxActivity"
    android:exported="true"
    android:excludeFromRecents="true"
    android:theme="@style/DialogBoxTheme">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />

        <data android:scheme="file" />
        <data android:mimeType="audio/*" />
        <data android:mimeType="application/ogg" />
        <data android:mimeType="application/x-ogg" />
        <data android:mimeType="application/itunes" />
    </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="http" />
        <data android:mimeType="audio/*" />
        <data android:mimeType="application/ogg" />
        <data android:mimeType="application/x-ogg" />
        <data android:mimeType="application/itunes" />
    </intent-filter>
    <intent-filter android:priority="-1">
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data android:scheme="content" />
        <data android:mimeType="audio/*" />
        <data android:mimeType="application/ogg" />
        <data android:mimeType="application/x-ogg" />
        <data android:mimeType="application/itunes" />
    </intent-filter>
</activity>
    • 值/样式. xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="DialogBoxTheme" parent="@style/Theme.AppCompat.Dialog">
        <item name="windowNoTitle">true</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="background">@color/transparent</item>
    </style>

</resources>

相关问题