第二次尝试从浏览器共享不会调用我的活动

时间:2013-10-20 17:46:15

标签: android android-intent android-browser

我有一个字典类型的应用程序,通过意图过滤器接受从其他应用程序共享的任意文本,例如: G。浏览器。 intent过滤器附加到一个decicated活动(“Lookup”),它执行共享文本的一些翻译并调用我的主要活动。查找活动悄然关闭。

我正在用三星Galaxy和Android 4.0.4上的系统浏览器进行测试,这是一个有趣的事情,我注意到了。在第一次尝试时,它按预期工作。我点击“共享”,选择我的应用程序作为目标,调用查找活动,然后调用主要活动。现在,如果我任务切换回浏览器并在另一段文本上再次点击“共享”,则不会显示共享目标菜单。相反,我的主要活动恢复了。不是查找(这是合理的),而是主要的。 onNewIntent()既未提供给主要活动也未提供给Lookup活动。 不过,onResume()已发送给主管。

但是,如果我点击“返回”而不是任务切换回浏览器 - 也就是说,明确关闭我的主要活动 - 在下次尝试时,共享操作会再次显示目标菜单。

这种行为有什么用?共享功能是否记住上次共享操作的目标并尝试重用它?如果是这样,为什么它不会记住共享的直接目标 - 我的查找活动?这有记录吗?

编辑:查找活动的清单如下:

 <activity android:name=".Lookup"
        android:label="@string/IDS_LOOKUPTITLE"
        android:theme="@style/Theme.Transparent">
        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="text/plain"/>
        </intent-filter>
    </activity>

当我从查找活动开始主活动时,我正在尝试重用现有的活动(如果有的话),因此标志为FLAG_ACTIVITY_REORDER_TO_FRONT|FLAG_ACTIVITY_SINGLE_TOP

0 个答案:

没有答案