我正在开发一个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)
我怎么能搞清楚这一点?
我正在研究一个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
会自动添加到对象中.
有谁知道我该如何解决这个问题?
我正在开发一个Android应用程序,该应用程序应该能够从特定文件夹中打开所选文件.
我已经尝试了这个,但在选择了我要打开它的应用程序后,我得到了这样的消息:
不可能加载
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)
我怎么能搞清楚这一点?
我正在开发一个从GCM服务器接收通知的项目.
我从GCM服务器获得了注册ID,然后将其发送到我的服务器应用程序,并将其保存在数据库中.
我的设备收到消息,但是当我尝试发送另一个消息时,先前的替换.
我知道我们有两种类型的消息:
因此,如果不更改消息的名称,如何在不同时间发送两条消息?
更新1:
当我的设备离线时(例如激活机场模式),我尝试从我的应用服务器向Google服务器发送2条消息(我读到Google存储了所有消息).但是当我停用此模式时,我只收到最后发送的消息.
我使用不同的collapse_key作为不同的消息,我收到所有这些(当然,当设备在线时).
有人知道我该如何解决这个问题?
c# android web-services push-notification google-cloud-messaging
嗨,我正在尝试开发一个现场测试应用程序,我将检索信息,如相邻单元格的信号强度.
所以我的问题是:
如何在X轴上显示不同相邻单元格的图形,并在Y轴上实时显示信号强度?这里有一个例子 .
我已经有5或6个相邻的小区,每个小区都有他的信号强度.
我试图避免在横向上进行全屏键盘编辑以访问建议.
我已经阅读了很多线程,解释说我必须添加像FlagNoFullscreen和/或flagNoExtractUi这样的EditorInfo标志.
我以编程方式添加了它们但没有真正帮助.
有没有办法解决这个问题?
我正在开发一个使用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连接的信息和我要下载的文件的大小.
有人已经有工作或有线程吗?
我正在向移动设备实施简单的gcm推送服务器通知,但是当我从服务器推送时,通知不会显示在移动电话上.日志显示此错误
内部错误:重试接收器类尚未设置
有人可以告诉我如何解决这个问题或给我一个链接到gcm库来修复此错误.我在网上搜索,谷歌说这个错误是在库版本中修复但我无法在网上找到它.
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年底,我的应用程序将不再编译?
谢谢
我正在使用这个插件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