小编rDr*_*oid的帖子

如何禁用从/到EditText的复制/粘贴

在我的应用程序中,有一个注册屏幕,我不希望用户能够将文本复制/粘贴到该EditText字段中.我已经设置了onLongClickListener每个,EditText以便显示复制/粘贴/输入方法和其他选项的上下文菜单不显示.因此,用户将无法复制/粘贴到"编辑"字段中.

 OnLongClickListener mOnLongClickListener = new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            // prevent context menu from being popped up, so that user
            // cannot copy/paste from/into any EditText fields.
            return true;
        }
    };
Run Code Online (Sandbox Code Playgroud)

但是,如果用户启用了除Android默认设置之外的第三方键盘,则可能出现问题,该键盘可能具有复制/粘贴按钮或可能显示相同的上下文菜单.那么如何在该场景中禁用复制/粘贴?

如果还有其他方法可以复制/粘贴,请告诉我.(可能还有如何禁用它们)

任何帮助,将不胜感激.

android android-widget android-keypad android-edittext

118
推荐指数
9
解决办法
9万
查看次数

有没有办法从代码中检查清单权限?

如何从代码中检查manifest.xml中的特定权限?如果缺少某些我的应用程序必需的权限,我想抛出一些异常.

例如,FINE_LOCATION并且COARSE_LOCATION我知道Android也将扔在推出即使用GPS的具体activiy的例外,但我需要检查清单并在启动应用程序本身的抛出异常.这不仅适用于位置访问,还适用于其他权限.

任何的意见都将会有帮助.

android android-manifest android-permissions

15
推荐指数
2
解决办法
7638
查看次数

如何在执行apache HttpPost时在UrlEncodedFormEntity中将空格编码为%20?

我正在点击的网络服务需要参数为URLEncodedFormEntity.我无法根据Web服务的要求将空间更改为%20,而是将空间转换为+.

我的代码是:

HttpClient client = new DefaultHttpClient()
HttpPost post = new HttpPost(url);
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,
            HTTP.UTF_8);
post.setEntity(entity);
HttpResponse resp = client.execute(post);
Run Code Online (Sandbox Code Playgroud)

其中参数是List<NameValuePair>参数.

我阅读了很多帖子,所有帖子都建议mancall在emcoding之后将空间更改为%20.在这里,我如何访问实体并手动更改它?任何帮助将不胜感激.

apache encoding android httpclient url-encoding

3
推荐指数
1
解决办法
5699
查看次数