应用程序未在“共享”菜单中注册为ACTION_SEND意图处理程序

时间:2012-01-21 06:32:12

标签: android android-intent share

我有一个免费且付费的Android应用程序,它们都基于相同的核心库代码,只有不同的子包名称,一个简单的完整版本布尔开关和免费应用程序名称中的“LITE”。它旨在接收图像文件并进行处理。 AndroidManifest.xml文件设置为:

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

在我测试的所有模拟器和设备上,这两个应用程序都显示在Gallery应用程序的“共享”菜单中,但我有一个用户报告他只能在“共享”菜单中看到LITE版本。该设备运行2.3。据说完整版本出现过一次,但自那以后就没有了。他在运行相同版本Android的其他设备上没有此问题。

有没有人听说或知道发生类似现象和/或其背后的原因?

3 个答案:

答案 0 :(得分:2)

我要回答我自己的问题......

基本上这是一个非问题。应用程序未在共享菜单中显示的原因是选择共享的“文件”不是保存在设备上的本地图像,而是图库中的图像由Picassa放置(因此实际存储在Google的服务器上,因此不可用通过正常的ACTION_SEND意图)。

答案 1 :(得分:1)

基本上这是一个非问题。应用程序未显示在“共享”菜单中的原因是选择“共享”的“文件”不是保存在设备上的本地图像,而是图库中的图像由Picassa放置(因此实际存储在Google的服务器上,因此不可用通过正常的ACTION_SEND意图)。

答案 2 :(得分:0)

您应该将android:scheme =“file”添加到您的数据中 - 这样您的应用只会在共享本地文件而非URL(远程用户)时触发。