小编Har*_*eem的帖子

如何使用OneSignal发送推送通知时发送一些其他数据?

我正在开发一个Android应用程序以及为它编写C#Web Api.现在我可以使用下面的代码发送推送通知.但我必须发送一个json对象,其中包含一个图像的URL,以便当用户点击通知时,应用程序中的活动打开并使用该URL使用Picasso加载图像.我该怎么办?

private void SendPushNotifications(int userId)
    {
        string appId = "myAppId";
        var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest;
        var user = db.Users.FirstOrDefault(x => x.Id == userId);
        if (user != null)
        {
            string message = "This job is posted by: \n" + user.Name + "\n" + user.Contact + "\n" +user.City;
            if (request != null)
            {
                request.KeepAlive = true;
                request.Method = "POST";
                request.ContentType = "application/json";

                request.Headers.Add("authorization", "Basic "+appId);

                byte[] byteArray = Encoding.UTF8.GetBytes("{"
                                                          + "\"app_id\": \"app_id\","
                                                          + "\"contents\": {\"en\": \""+ message +"\"},"
                                                          + "\"included_segments\": …
Run Code Online (Sandbox Code Playgroud)

c# android json onesignal

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

Visual Studio 2015不会为Xamarin安装Android SDK

我正在向Xamarin寻求跨平台应用程序开发.我已经安装了VS2015,我从他们的网站上下载了Xamarin工具(vstoolsforxamarin.exe),当我在漫长的等待后安装它们时VS说"安装完成但有错误"并且它没有下载并安装适用于API 19,20的Android SDK, 23,它总是说:"请检查你的互联网连接,然后再试一次",我确信我的互联网连接在这一过程中不会受到干扰.我已经尝试了3次,尝试通过卸载VS2015,再次安装但得到了同样的错误.引起这个问题的原因是什么?我已经安装了Android Studio及其SDK管理器.任何帮助将不胜感激,让Xamarin在VS2015中运行.

编辑:

解决方案:我已经在我的系统上安装了Android Studio及其SDK,转到工具>选项> Xamarin,并提供Android SDK的路径解决了我的问题.

android xamarin.ios visual-studio-2015

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

计步器(步数计数器)

我正在开发一个计步器Android应用程序来计算所采取的步数,并使用这些步骤计算所覆盖的距离和燃烧的卡路里.我已经按照教程 在Android中创建一个简单的计步器和步数计数器,并且完全像它一样.它检测传感器检测到运动时的步数.

但它有一些问题:

  1. 当我手持设备站在同一个地方,只需移动我的手或给设备一个挺举时,它会检测到更改并增加步数.
  2. 如果我用手中的设备移动得非常慢,它就不会检测到变化.
  3. 如果我跳,那么它会在柜台中添加几个步骤.

我已经从Play商店检查了一些其他应用程序,但他们没有做这种事情.

我已搜索但无法找到适合的解决方案或教程.任何帮助或建议.谢谢

android sensormanager pedometer

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

ExoPlayer seekto 函数不搜索指定点而是从 0 开始

我正在为广播流应用程序开发 ExoPlayer 2.6.0。收音机播放很好,但是当我尝试添加 seekTo +/-30 秒时,它总是从 0 开始流式传输。在调试模式下,播放器搜索到 +30 秒,但一旦设置了 setPlayWhenReady() 它就会返回从 0 开始。我一直在寻找这个解决方案很久了,所以决定在这里提问。任何帮助将不胜感激。

以下是我用于 seekto 操作的代码。

ivForward.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                if (exoPlayer != null && Constants.isMediaPlaying) {
                    exoPlayer.setPlayWhenReady(false);
                    Constants.isMediaPlaying = false;
                    long bufferPosition = exoPlayer.getBufferedPosition();
                    long currentPosition = exoPlayer.getCurrentPosition();
                    if ((currentPosition + 30000) < bufferPosition + 50) {
                        exoPlayer.setPlayWhenReady(false);
                        Constants.isMediaPlaying = false;
                        exoPlayer.seekTo(exoPlayer.getCurrentWindowIndex(), currentPosition + 30000);
                        exoPlayer.setPlayWhenReady(true);
                        Constants.isMediaPlaying = true;
                    }
                }
            } catch (Exception e) {
                MakeToast.show("Error moving forward");
            }
        } …
Run Code Online (Sandbox Code Playgroud)

exoplayer seektotime exoplayer2.x

6
推荐指数
0
解决办法
213
查看次数

如何从数据库动态重新安排C#中的Quartz作业调度程序?

我已经在我的C#.Net网站中包含了Quartz.net库,可以根据某些条件自动发送电子邮件.我已经使用RepeatForever()开始了这项工作.我从数据库中获取调度程序的设置.现在,当作业已经启动时,无论如何都要检查数据库中调度程序的设置是否已更改,所以我还应该在我的方法中更新它们,以便调度程序动态运行新设置?到目前为止,我已经这样做了:

public void StartJob()
    {
        var reminderSettings = GetReminderSettings();  //getting these settings from database
        var count = GetUnpaidInvoicesListCount();
        var intervalBtwnReminders = 0;
        if (reminderSettings?.RemindersGap != null)
        {
            intervalBtwnReminders = (int)(reminderSettings.RemindersGap);         
        }

        ISchedulerFactory schedFact = new StdSchedulerFactory();

        IScheduler sched = schedFact.GetScheduler();
        sched.Start();

        // create job
        IJobDetail job = JobBuilder.Create<EmailJob>()
                .WithIdentity("job1", "group1")
                .Build();

        // create trigger
        ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "group1")
            .WithSimpleSchedule(x =>
            {
                 x.WithIntervalInMinutes(intervalBtwnReminders ).RepeatForever();
            })
            .Build();

        sched.ScheduleJob(job, trigger);
    }
Run Code Online (Sandbox Code Playgroud)

.net c# quartz.net

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