首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android向全局上下文菜单添加项目

Android向全局上下文菜单添加项目
EN

Stack Overflow用户
提问于 2009-02-18 00:52:29
回答 5查看 7.9K关注 0票数 7

当你长时间按下Android中的某个东西时,会弹出一个上下文菜单。我想在这个上下文菜单中为系统中的所有TextViews添加一些东西。

例如,系统通过复制和粘贴来完成此操作。我想添加我自己的,并让它出现在每个应用程序中。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-20 22:18:50

目前Android不支持这一点,如果没有特定的activity实现您公开的意图或activity,您就不能在系统级全局覆盖或挂钩功能。即使在发布意图的情况下,这也无关紧要,除非正在运行的应用程序是消费者……而且所有的基础系统应用程序,很明显,在你之前的所有应用程序都不会没有更新应用程序来消费。

从根本上说,这是不可能的。

您到底想通过这个全局上下文菜单来实现什么,即运行在应用程序中的某种全局“搜索”或“发送到”功能?

票数 6
EN

Stack Overflow用户

发布于 2019-01-03 16:58:52

在文件android-manifest.xml中添加intent-filter:

代码语言:javascript
运行
复制
<activity
   android:name=".ProcessTextActivity"
   android:label="@string/process_text_action_name">
  <intent-filter>
     <action android:name="android.intent.action.PROCESS_TEXT" />
     <category android:name="android.intent.category.DEFAULT" />
     <data android:mimeType="text/plain" />
 </intent-filter>
</activity>

在onCreate()方法的活动中通过用户文本突出显示您的应用程序:

代码语言:javascript
运行
复制
  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.process_text_main);
    CharSequence text = getIntent()
      .getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT);
    // process the text
}

有关更多信息,请参阅medium上的文章。

感谢用户:YungBlade

他在ru.stackoverflow.com上的回答

票数 4
EN

Stack Overflow用户

发布于 2009-02-18 09:19:53

嗯;我不知道你是否可以像example那样扩展内置类型。Ruby (我的Java知识还不够深)。

但是,您可以从TextView派生自己的MyTextView。然后在布局中替换所有TextView,如下所示:

代码语言:javascript
运行
复制
<TextView android:id="@+id/TextView01" />

代码语言:javascript
运行
复制
<com.mydomain.mypackage.MyTextView android:id="@+id/TextView01" />

自动更改所有这些字段的类型。

然后你需要覆盖所有的构造函数(特别是TextView(Context context, AttributeSet attrs) )。

之后,所有布局充气(自动或手动)将创建这种类型的没有大惊小怪。

然后,您可以根据需要创建/注册上下文菜单回调。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/559405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档