小编jjh*_*son的帖子

通知操作没有启动新活动?

我计划有一个抬头通知,其中包含两个操作...一个用于批准登录请求,另一个用于拒绝登录请求.通过单击这些操作中的任何一个,我希望触发对我的服务器的HTTP请求,最重要的是,不希望启动新的Activity或将用户重定向到我的应用程序.

        Context context = getBaseContext();
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
            .setSmallIcon(R.mipmap.notificationicon)
            .setContentTitle(notificationTitle)
            .setContentText("Access Request for " + appName + " : " + otp)
            .setDefaults(Notification.DEFAULT_ALL)
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .addAction(R.drawable.ic_tick, "Approve", someApproveIntent?  );
Run Code Online (Sandbox Code Playgroud)

这是我的通知构建器,在查看之后,似乎addAction方法正在寻找新的/ pendingIntent,这让我感到困惑,因为我无法在线找到任何Intents不会导致新活动被触发的示例.

我将如何实现一些代码(可能是一种方法),而不是在每个动作上启动一个新的Activity ...

谢谢你的帮助

notifications android push-notification heads-up-notifications

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

Java 中的隐式和显式并行

一直在研究 Java 语言中的隐式和显式并发,经过大量研究后想澄清一些事情。

  • Java 语言中的隐式并行性是否仅通过使用 Java 8 流来实现?
  • 我是否认为 Java 中的显式并行性是通过使用程序员编写的线程来实现的。(区别在于隐式并行应该通过编译器而不是程序员编写的代码发生)?

谢谢

java parallel-processing concurrency multithreading

6
推荐指数
1
解决办法
2382
查看次数

Android Okhttp异步调用

我试图使用Okhttp库通过API将我的Android应用程序连接到我的服务器.

我的api调用是在按钮单击时发生的,我收到以下android.os.NetworkOnMainThreadException.我明白这是因为我在主线程上尝试网络调用,但我也在努力找到一个关于如何使这个代码使用另一个线程(异步调用)的android的干净解决方案.

@Override
public void onClick(View v) {
    switch (v.getId()){
        //if login button is clicked
        case R.id.btLogin:
            try {
                String getResponse = doGetRequest("http://myurl/api/");
            } catch (IOException e) {
                e.printStackTrace();
            }
            break;
    }
}

String doGetRequest(String url) throws IOException{
    Request request = new Request.Builder()
            .url(url)
            .build();

    Response response = client.newCall(request).execute();
    return response.body().string();

}
Run Code Online (Sandbox Code Playgroud)

上面是我的代码,异常正在抛出

Response response = client.newCall(request).execute();
Run Code Online (Sandbox Code Playgroud)

我也读过Okhhtp支持异步请求,但我真的找不到一个干净的android解决方案,因为大多数似乎使用一个使用AsyncTask的新类<> ??

任何帮助或建议都非常感谢,谢谢...

java api android asynchronous okhttp

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

Azure 服务总线队列消息处理

因此,我有一个天蓝色函数作为队列触发器,调用内部托管的 API。

对于如何处理由于有毒以外的问题而无法处理的消息,网上似乎没有明确的答案。

一个例子:

收到我的消息并且该函数尝试调用 API。消息有效负载是正确的并且可以处理,但是 API/服务由于某种原因而关闭(这个时间可能会超过 10 分钟)。目前发生的情况是消息传递计数达到其最大值(10),然后被推送到死信队列,这又会在之后的每条消息中发生。

我需要一种方法来要么不增加交付计数,要么在达到最大值时重置它。或者,我可以放弃对消息的查看锁定,而不增加传递计数,因为我想停止处理队列上的任何消息,直到 API/服务恢复并运行。这样我就可以确保所有可以处理的消息都不会因为服务之间的连接问题而陷入死信。

关于如何实现这一目标有什么想法吗?

message-queue azure azure-servicebus-queues brokeredmessage

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

Powershell脚本来安排日常任务错误

我有一个非常简单的Power Shell脚本,该脚本会将控制台应用程序注册为每日计划的任务。

$TaskCommand = Read-Host 'Enter the path to the console application'
$TaskName = "TaskName"
$TaskStartTime = "10PM"
$TaskArg = "-WindowStyle Hidden -NonInteractive -Executionpolicy unrestricted"

$TaskAction = New-ScheduledTaskAction -Execute "$TaskCommand" -Argument "$TaskArg"
$TaskTrigger = New-ScheduledTaskTrigger -At $TaskStartTime -Daily
Register-ScheduledTask -Action $TaskAction -Trigger $TaskTrigger -TaskName "$TaskName" -User %computername%\theusername -Password "password" -RunLevel Highest
Run Code Online (Sandbox Code Playgroud)

应用程序从用户输入中读取文件路径,并尝试使用特定的用户帐户将应用程序注册为任务。我可以通过使用使脚本工作

-User "System"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用上述脚本时,出现此错误:

Register-ScheduledTask:帐户名和安全ID之间未完成映射。

我已确保该帐户存在,因为该帐户当前正在运行多个服务。我也是Powershell的新手,因此尝试在用户名周围添加引号,但没有运气。

任何帮助深表感谢

powershell windows-task-scheduler taskscheduler

4
推荐指数
1
解决办法
2157
查看次数

PreactX 中的 Preact/Compat - ReferenceError: h 未定义

我有一个非常简单的 React 应用程序(实际上还没有做任何事情)。

我已经安装了最新的 preactX (当前为 10.4.1),根据文档,它现在随 preact/compat 一起提供,这是我需要能够使用我所有的反应优点的库。

我当前的设置:

包.json

"scripts": {
    "prod": "webpack --mode=production",
    "watch": "webpack --watch",
    "dev": "webpack-dev-server"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.9.6",
    "@babel/plugin-transform-react-jsx": "^7.9.4",
    "@babel/preset-env": "^7.9.6",
    "@babel/preset-react": "^7.9.4",
    "babel-loader": "^8.1.0",
    "clean-webpack-plugin": "^3.0.0",
    "compression-webpack-plugin": "^4.0.0",
    "html-webpack-plugin": "^4.3.0",
    "path": "^0.12.7",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11",
    "webpack-dev-server": "^3.11.0"
  },
  "dependencies": {
    "preact": "^10.4.1",
    "react": "^16.13.1",
    "react-dom": "^16.13.1"
  }
Run Code Online (Sandbox Code Playgroud)

babel.config.js

module.exports = {
    presets:[
        "@babel/preset-env", //this was here before preact
        "@babel/preset-react" //this was here before …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack babeljs preact

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

Char不能被解除引用?使用compareTo

我正在尝试创建一个将读取字符串的程序,并比较字符串中的每个字符,看它是否按字母顺序排列.

public class Main
{
    public static void Main ( String[] args)
    {
        System.out.println("#Please enter the string: ");
        String s = BIO.getString();

        while(!s.equals("END")){
            int length = s.length();
            String sLC = s.toLowerCase();
            int count = 0;
            boolean inOrder = true;

            for(int i = 0; i < length - 1 ; i++){
                if(sLC.charAt(i).compareTo(sLC.charAt(i+1)) > 0) {
                    inOrder = false;
                    break;
                }   
            }  

            System.out.println("#Please enter the string: ");  
            s = BIO.getString();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用blueJ,当我尝试编译它时,它给出了错误'char无法解除引用并在我的IF语句中突出显示'compareTo'方法?

java compareto

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

动态 - 使用 API 创建任务

    {Method: POST, RequestUri: 'https://cmpanydynamicsurl.com/api/data/v8.2/tasks', Version: 1.1, Content: System.Net.Http.StringContent, 
     Headers:
      {
        OData-MaxVersion: 4.0
        OData-Version: 4.0
        Accept: application/json
        Content-Type: application/json; charset=utf-8
        Content-Length: 162
      }}
Run Code Online (Sandbox Code Playgroud)

使用上述请求,我尝试使用 Dynamics API post action 针对帐户创建任务。

正在发送 Json 模型 -

 {
    "subject":"NEW TEST TASK FOR ACCOUNT",
    "_regardingobjectid_value@odata.bind":"/accounts(08b582ad-4e2f-e711-8101-5065f38a4a21)"
 }
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息并且在互联网上搜索没有运气?

一个属性“_regardingobjectid_value”在有效载荷中只有属性注释但没有属性值被声明为“Edm.Guid”类型。在 OData 中,只有导航属性和命名流可以表示为没有值的属性。

microsoft-dynamics dynamics-crm office365api dynamics-crm-365

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

Object.Assign() 不覆盖现有属性

请原谅这个标题,因为我不确定这是否可能。

我有一个像这样的 json 模型

json 模型“数据”

{
   "RegisteredAddress": "1 street, Sw3 1aq",
   "TradingAddress": "2 street, sw4, 5ad",
}
Run Code Online (Sandbox Code Playgroud)

我想映射到一个看起来像这样的模型

AddressModel.ts 'addressModel'

{
   "RegisteredAddress": null,
   "TradingAddress": null,
   "PreviousAddresses": ["Previous Address Street, RH10 1BG"]
}
Run Code Online (Sandbox Code Playgroud)

我可以使用Object.Assign(this.addressModel, data); 而不覆盖 Address.ts 模型上现有的填充属性。我本质上只想填充 json 模型中的字段,而不覆盖正在分配的 json 上不存在的任何现有属性。最终结果应该是

AddressModel.ts 'addressModel'

{
   "RegisteredAddress": "1 street, Sw3 1aq",
   "TradingAddress": "2 street, sw4, 5ad",
   "PreviousAddresses": ["Previous Address Street, RH10 1BG"]
}
Run Code Online (Sandbox Code Playgroud)

了解我可以手动映射这些属性,但这是一个示例,我正在使用更大的模型。

javascript json typescript ecmascript-6

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