Android - 使我的应用程序可从应用程序列表和 "Share"菜单启动

标签 android android-intent android-activity

我有一个 Activity,我想通过在“Share smth”中选择它来从 Apps List 启动它。菜单。这是我在 AndroidManifest 中的 Activity 代码


    <activity
        android:label="@string/app_name"
        android:configChanges="orientation|screenSize"
        android:name=".MainActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>

但应用程序列表和“共享”菜单中没有该 Activity 。我的代码有什么问题?

最佳答案

您需要 2 个单独的 Intent 过滤器:一个用于启动器(以便您的应用显示在可用应用列表中),另一个用于指示您能够接收图像文件(因此它显示在“共享”列表中):

<intent-filter >
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

关于Android - 使我的应用程序可从应用程序列表和 "Share"菜单启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20829561/

相关文章:

android - Alpha 属性仅适用于 Android Lollipop,为什么?

android - WebView.setInitialScale 不起作用

android - 通过 Intent 传递整个类引用

android - 如何避免重复 PendingIntents

java - CordovaActivity 上的 onBackpressed 未调用

带有数字的android alphabetindexer

android - 当 launchMode ="singleTask"重新打开 Activity 时,返回堆栈会发生什么情况?

android - 设备管理员 onDisabled() 未在 android 中调用

java - 将 View 从一项 Activity 传递到另一项 Activity

android - 生成用于访问服务器资源的 token