小编13K*_*3KZ的帖子

当用户触摸屏幕时如何避免关闭我的进度对话框?

我正在开发一个android项目,当用户下载文件时会显示进度对话框.

但是当用户触摸屏幕时,进度对话框将被取消而不等待100%.我已经尝试过这个:

 public boolean onTouchEvent(MotionEvent e) {
        return true;
    } 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我怎么能避免这个?

更新1:

似乎setCancelable(false)工作正常.非常感谢你的答案,但是当下载持久且用户决定放弃它时,这将是不可能的,因为我已经停用了后面的keyCode:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

我怎么能搞清楚这一点?

java android

35
推荐指数
2
解决办法
3万
查看次数

如何从JSONObject中删除nameValuePairs键?

我正在研究一个Android项目,它需要一个JSONObject作为我的POST请求的主体.在放入JSON的键和值后,我得到以下行:

{
    "xxxx":"zzzzzzz",
    "yyyy":"uuuuuuu"
}
Run Code Online (Sandbox Code Playgroud)

但服务器得到以下内容:

{
    "name_value_pairs": {
                        "xxxx":"zzzzzzz",
                        "yyyy":"uuuuuuu"
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一个JSONStringer但它并没有真正帮助,因为Content-Type请求是application/json.

UPDATE

我不是要构建一个JSONObject,因为它已经通过使用下面的代码行完成了(@osayilgan给出了相同的代码):

JSONObject jsonRequest = new JSONObject();
jsonRequest.put("xxxx", "zzzzzzz");
jsonRequest.put("yyyy", "uuuuuuu");
Run Code Online (Sandbox Code Playgroud)

这不是问题.下面描述的接口用于与服务器通信.

public interface MyService {
    @Headers({"Content-type: application/json",
              "Accept: */*"})
    @POST("/test")
    void testFunction(@Body JSONObject jsonObject, Callback<Response> callback);
}
Run Code Online (Sandbox Code Playgroud)

服务器获得了第二个JSON作为Body的请求令人失望.我注意到密钥name_value_pairs会自动添加到对象中.

有谁知道我该如何解决这个问题?

rest android json retrofit

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

从我的Android应用程序以编程方式打开所选文件(图像,pdf,...)?

我正在开发一个Android应用程序,该应用程序应该能够从特定文件夹中打开所选文件.

我已经尝试了这个,但在选择了我要打开它的应用程序后,我得到了这样的消息:

不可能加载

在尝试了很多线程1线程2之后,我使用这些代码行来完成它:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("/mnt/sdcard/xxx/xxx/Pictures/xxx.jpg"), "image/*");
myContext.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我怎么能搞清楚这一点?

pdf android image android-intent

21
推荐指数
2
解决办法
8万
查看次数

如何在不更换先例的情况下使用GCM接收多个通知?

我正在开发一个从GCM服务器接收通知的项目.

我从GCM服务器获得了注册ID,然后将其发送到我的服务器应用程序,并将其保存在数据库中.

我的设备收到消息,但是当我尝试发送另一个消息时,先前的替换.

我知道我们有两种类型的消息:

  • 可折叠的"发送到同步"
  • 不可塌陷

因此,如果不更改消息的名称,如何在不同时间发送两条消息?

更新1:

当我的设备离线时(例如激活机场模式),我尝试从我的应用服务器向Google服务器发送2条消息(我读到Google存储了所有消息).但是当我停用此模式时,我只收到最后发送的消息.

我使用不同的collapse_key作为不同的消息,我收到所有这些(当然,当设备在线时).

有人知道我该如何解决这个问题?

c# android web-services push-notification google-cloud-messaging

20
推荐指数
2
解决办法
1506
查看次数

如何在Android中像Wifi Analyzer App一样绘制图形?

嗨,我正在尝试开发一个现场测试应用程序,我将检索信息,如相邻单元格的信号强度.

所以我的问题是:

如何在X轴上显示不同相邻单元格的图形,并在Y轴上实时显示信号强度?这里有一个例子 .

我已经有5或6个相邻的小区,每个小区都有他的信号强度.

graphics android canvas android-layout

11
推荐指数
1
解决办法
4071
查看次数

有没有办法避免在横向上使用全屏SearchView /键盘?

我试图避免在横向上进行全屏键盘编辑以访问建议.

我已经阅读了很多线程,解释说我必须添加像FlagNoFullscreen和/或flagNoExtractUi这样的EditorInfo标志.

我以编程方式添加了它们但没有真正帮助.

有没有办法解决这个问题?

java user-interface android landscape searchview

11
推荐指数
1
解决办法
2454
查看次数

如何在从URL下载(使用http连接)期间检索文件的大小?

我正在开发一个使用http连接下载文件的项目.我在下载过程中显示一个带有进度条状态的水平进度条.我的功能看起来像这样:

.......
try {           
        InputStream myInput = urlconnect.getInputStream();
        BufferedInputStream buffinput = new BufferedInputStream(myInput);

        ByteArrayBuffer baf = new ByteArrayBuffer(capacity);
        int current = 0;
        while((current = buffinput.read()) != -1) {
            baf.append((byte) current);
        }
File outputfile = new File(createRepertory(app, 0), Filename);
        FileOutputStream myOutPut = new FileOutputStream(outputfile);
        myOutPut.write(baf.toByteArray());
...
}
Run Code Online (Sandbox Code Playgroud)

我事先知道文件的大小,所以我需要在下载过程中检索大小(在我的while块中).因此,我将能够确定进度条的状态.

progressBarStatus = ((int) downloadFileHttp(url, app) * 100)/sizefile;
Run Code Online (Sandbox Code Playgroud)

long downloadFileHttp(..,..)是我的函数的名称.

我已经尝试使用outputfile.length检索它,但是他的值是"1",也许它是我试图下载的文件数.

有什么方法可以搞清楚吗?

更新1

我没有任何线索可以让我弄清楚这一点.目前我有一个水平进度条,只显示0和100%whitout中间值.我想另一种方法.如果我知道我的wifi速率和文件的大小,我可以确定下载的时间.

我知道我可以检索我的Wifi连接的信息和我要下载的文件的大小.

有人已经有工作或有线程吗?

java android http download

9
推荐指数
2
解决办法
4169
查看次数

内部错误:重试接收器类尚未设置

我正在向移动设备实施简单的gcm推送服务器通知,但是当我从服务器推送时,通知不会显示在移动电话上.日志显示此错误

内部错误:重试接收器类尚未设置

有人可以告诉我如何解决这个问题或给我一个链接到gcm库来修复此错误.我在网上搜索,谷歌说这个错误是在库版本中修复但我无法在网上找到它.

android push-notification google-cloud-messaging

8
推荐指数
1
解决办法
1万
查看次数

"android.enableAapt2将于2018年底删除"的含义是什么?

Gradle版本:4.4 Android插件版本:3.1.2

你好.我正在开发Android,应该使用名为AirWatch的移动设备管理进行部署.因此,自Android Gradle Plugin 3.0.0以来,即使我更新应用程序版本代码和版本名称,MDM也认为最后部署的版本和当前版本相同.

使用dump badging命令,我看到platformBuildVersionName为空.因此,当我从gradle属性文件中禁用aapt2时,将填充platformBuildVersionName.这允许我在MDM上部署.问题不是最新的,我们什么时候不会.所以这就是我找到的工作.我知道选项'android.enableAapt2'已弃用,不应再使用了.

我的问题是什么意思"它将在2018年底被删除"?这是不是意味着,在2018年底,我的应用程序将不再编译?

谢谢

android gradle android-gradle-plugin

8
推荐指数
2
解决办法
1万
查看次数

如何在管道步骤中使用 Jenkins Sidebar Link Plugin?

我正在使用这个插件https://plugins.jenkins.io/sidebar-link/在 jenkins 侧栏中添加一个链接。这个插件适用于 jenkins 项目配置。现在我正在尝试添加一个管道步骤来调用这个插件。

我已经尝试了下面的代码行,但它不起作用

sidebarLinks {
            link("my_url", "the title", 'image path')
        }
Run Code Online (Sandbox Code Playgroud)

我已经阅读了关于此的主题,但没有找到可接受的回复。我认为 jenkins 插件没有很好的文档记录。

有人知道我如何将它与管道一起使用吗?

更新

我正在使用用 Groovy 编写的共享库。该库包含所有管道方法。

@Library('xxxx@v1.0.0') _
pipeline {
   stages {
      ...
      stage('Add side link') {
            steps {
                addLink()
            }
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

共享库方面,我有一个 addLink.groovy 文件。

def call(){

    properties {
        sidebarLinks {
            link("url", 'Title', 'icon_path')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

错误:<-:java.lang.IllegalArgumentException:无法为 JobPropertyStep 实例化 {properties=org.jenkinsci.plugins.workflow.cps.CpsClosure2@6b5322b}

jenkins jenkins-plugins jenkins-job-dsl jenkins-groovy jenkins-pipeline

7
推荐指数
1
解决办法
1617
查看次数