【问题标题】:Display a View on Android Window Manager在 Android 窗口管理器上显示视图
【发布时间】:2023-01-07 07:17:30
【问题描述】:

我创建了一个音频播放器应用程序并将其设置为我打开音频文件的默认应用程序。

现在,当我从文件管理器中单击一个音频文件时,它会打开我的应用程序,或者更确切地说是用于接收音频文件的活动。

但我不希望那样,我希望我的应用程序中的自定义视图显示在文件管理器应用程序上,如下图所示

执行此操作的应用程序是YT音乐.我注意到,Android 还没有完成窗口管理器因为我禁用了绘制应用程序YT音乐应用程序,但它仍在弹出视图

任何人都可以告诉我它是如何完成的吗?

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

【问题讨论】:

    标签: android


    【解决方案1】:

    所以经过一些研究,我得到了我想要的东西......

    首先,它只是一个正常的活动,显示为对话盒子。

    我创建了一个活动 (DialogBoxActivity.java) 并在 AndroidManifest.xml 中给了它一个对话框主题

    AndroidManifest.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>
    

    值/styles.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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-09
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多