Gau*_*rma 6 java android android-11
我在清单文件中有以下配置 -
<activity
android:name=".activities.PopupWord"
android:excludeFromRecents="true"
android:theme="@style/popups">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PROCESS_TEXT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
我可以在 Android 10 中的 Twitter 等应用程序的文本选择菜单中看到“查找”按钮,但在 Android 11 中它消失了。令人惊讶的是它在 Chrome 中运行。
维基百科测试版以某种方式规避了这个问题,并在各处显示其“在维基百科中搜索”按钮。我试图查看它的清单,发现它很相似。
<activity
android:name="org.wikipedia.search.SearchActivity"
android:windowSoftInputMode="0x10">
<intent-filter
android:label="@ref/0x7f100190">
<action
android:name="android.intent.action.SEND" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:mimeType="text/plain" />
</intent-filter>
<intent-filter
android:label="@ref/0x7f100190">
<action
android:name="android.intent.action.PROCESS_TEXT" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:mimeType="text/plain" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
(我尝试制作 mimeType text/plain 并添加标签,但没有帮助)
任何线索都会有帮助。
所以我找到了发生这种情况的可能原因。
public void onInitializeMenu(Menu menu) {
// Start with a menu Item order value that is high enough
// so that your "PROCESS_TEXT" menu items appear after the
// standard selection menu items like Cut, Copy, Paste.
int menuItemOrder = 100;
for (ResolveInfo resolveInfo : getSupportedActivities()) {
menu.add(Menu.NONE, Menu.NONE,
menuItemOrder++,
getLabel(resolveInfo))
.setIntent(createProcessTextIntentForResolveInfo(resolveInfo))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
}
Run Code Online (Sandbox Code Playgroud)
这需要应用扫描现有包以获取 Process_text 意图支持,但在 Android 11 中,我们无法访问所有已安装的包,只能访问<queries> </queries>androidManifest.xml 中的包。
维基百科是一个著名的应用程序,Twitter 一定已将其添加到查询列表中,因此获得了支持。
| 归档时间: |
|
| 查看次数: |
1233 次 |
| 最近记录: |