Tag: 服务

使用意图将数据从活动传递到服务

如何获取从调用Activity传递的Android服务中的数据?

如何启动仅限服务的Android应用程序

我正在创build一个应用程序,其唯一的组件是一个service ,继续在后台运行(基本上是一个代理服务器),但我无法find一个方法如何启动该服务。 应用程序不能有任何用户界面或用户交互,所以我不使用活动。 Broadcast receiver可以监听BOOT广播,但是如何在安装时首次启动服务,以及如何保持运行? 或者有一个广播,我可以收听应用程序安装后,例如可能是TIME_TICK,但必须从我认为的活动注册。

ServiceStack新服务并排ASP.NET MVC网站

在ServiceStack的示例中 ,我没有看到一个单独的应用程序,它先是ASP.NET MVC网站,然后是ServiceStack服务。 我们来看一个非常简单的通过Views呈现产品的ASP.NET MVC Web应用程序。 它使用控制器,视图,模型和视图模型。 比方说,我们有一个Product的模型被持久化到文档数据库中。 假设我们有一个ProductViewModel的视图模型,它从Product映射到MVC Razor View / PartialView。 所以这是一个networking的一面..现在让我们假设我们想要添加一个服务返回产品的Windows 8应用程序的各种客户端。 请求/响应类应该与我们已经有的完全断开? 我们的ProductViewModel可能已经包含了我们想从服务返回的所有东西。 由于我们已经有Product (模型类),所以我们不能在API命名空间中拥有另一个Product类。我们可以但是这使得事情不清楚,我想避免这种情况。 那么,我们是否应该在API命名空间中引入独立的ProductRequest类和ProductRequestResponse (inheritanceProductViewModel)类? 像这样ProductRequestResponse : ProductViewModel ? 我所说的是,我们已经有了Model和ViewModel类,并且为SS服务构buildRequest和Response类,我们将不得不创build另外两个文件,主要是通过从我们已有的类复制所有东西。 这对我来说看起来并不干,它可能遵循关注点分离的指导原则,但DRY也很重要,实际上不是分隔所有东西(分隔所有东西导致代码重复)。 我想看到的情况是已经创build了一个Web应用程序,它目前具有Models和ViewModel,并返回适当的Views以显示在Web上,但是可以扩展为一个function完备的服务来支持程序化客户端? 像AJAX客户端等…我们已经有了。 另一件事: 如果你看看这个例子https://github.com/ServiceStack/ServiceStack.Examples/blob/master/src/ServiceStack.MovieRest/MovieService.cs 你会看到有Movie Request类和Movies Request类(一个用于单个电影请求,另一个用于电影列表)。 因此,也有两个服务, MovieService和MoviesService ,一个处理单个电影的请求,另一个处理电影stream派。 现在,虽然我喜欢SS的服务方式,但我认为这是正确的,但由于请求的types,我不喜欢这种分离。 如果我想要导演的电影呢? 我会发明另一个具有Director属性和另一个服务的请求类( MoviesByDirector )吗? 我认为样本应该面向一种服务。 一切必须处理电影都需要在一个屋檐下。 如何用ServiceStack实现? public class ProductsService : Service { private readonly IDocumentSession _session; […]

如何将多个程序集合并成一个?

我使用EXE项目(Azure应用程序的启动任务)来使用我的服务堆栈,因为我已经将以下服务堆栈的DLL和一些Azure的DLL复制到EXE项目中。 当我构build这个EXE项目时,Azure DLL将与我的EXE捆绑在一起,但是服务栈的DLL不会与EXE捆绑在一起,因为要在任何机器上运行我的EXE,我需要手动拷贝所有服务栈的DLL。 我已经使用这个服务栈的DLL来使用 JsonServiceClient client = new JsonServiceClient(servicepath); 我需要做什么来将所有这些DLL绑定到我的EXE中?

如何检查定位服务是否启用?

我正在开发Android操作系统上的应用程序。 我不知道如何检查位置服务是否启用。 我需要一个方法,如果它们被启用则返回“true”,如果不是,则返回“false”(所以在最后的情况下,我可以显示一个对话框来启用它们)。

使用Alarmmanager在特定时间启动服务

我已经search了很多地方,但无法find一个干净的顺序解释如何启动一个服务(或如果这是不可能的,然后一个活动)在每天的特定时间使用AlarmManager? 我想注册几个这样的警报,并触发它们应导致服务启动。 我会在服务中有一小段代码,然后可以执行,我可以完成良好的服务…. Calendar cal = Calendar.getInstance(); Calendar cur_cal = Calendar.getInstance(); cur_cal.setTimeInMillis(System.currentTimeMillis()); Date date = new Date(cur_cal.get(Calendar.YEAR), cur_cal.get(Calendar.MONTH), cur_cal.get(Calendar.DATE), 16, 45); cal.setTime(date); Intent intent = new Intent(ProfileList.this, ActivateOnTime.class); intent.putExtra("profile_id", 2); PendingIntent pintent = PendingIntent.getService(ProfileList.this, 0, intent, 0); AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent); System.out.println("The alarm set!!"); 我试过这个代码来激活在4.45的报警…但它没有发射服务…我必须保持过程运行? 我做错了什么? 还有一件事,我的服务得到完美的执行情况下,我使用下面的代码: long firstTime = SystemClock.elapsedRealtime(); alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, […]

如何显示来自服务的对话框

我已经阅读了很多关于这个话题的post,但是没有任何作品适合我(或者没有我想要的效果)。 我有一个应用程序,login后启动一个后台服务(Service类的实现)。 该服务与服务器同步,如果有新的订单,它会创build一个通知。 到目前为止,一切都很好,我有通知和Toast消息。 但是,我想要一个对话框,通知用户有关新订单。 据我所知,你可以从服务内部开始一个活动,显示对话框。 这可以工作,但活动从当前活动堆栈的顶部开始并显示对话框。 我有一个没有附加视图的活动,但它正确地显示在黑色背景上的对话框。 我想要的是显示当前活动的对话框,导致实际的背景(运行活动)淡入淡出并显示对话框。 这有可能吗? 谢谢你,菲利普

Android:保持后台服务(防止进程死亡)

我有一个服务被定义为: public class SleepAccelerometerService extends Service implements SensorEventListener 从本质上讲,我正在制作一个应用程序,用于监视加速度计活动的各种原因,而用户睡觉时,他/她的手机/设备在床上。 这是一个长期运行的服务,不能在夜间被杀害。 根据在夜间发生多less背景应用程序和周期性进程,android有时会杀死我的进程,从而结束我的服务。 例: 10-04 03:27:41.673: INFO/ActivityManager(1269): Process com.androsz.electricsleep (pid 16223) has died. 10-04 03:27:41.681: INFO/WindowManager(1269): WIN DEATH: Window{45509f98 com.androsz.electricsleep/com.androsz.electricsleep.ui.SleepActivity paused=false} 我不想强迫用户在我的应用程序中将“SleepActivity”或其他一些活动作为前景。 我不能让我的服务定期运行,因为它不断拦截onSensorChanged。 任何提示? 源代码在这里: http : //code.google.com/p/electricsleep/

Android – 实现服务的startForeground?

所以我不确定在哪里/如何实现这个方法来使我的服务在前台运行。 目前我在另一项活动中通过以下方式开始我的服务: Intent i = new Intent(context, myService.class); context.startService(i); 然后在myServices的onCreate()我尝试startForeground()…? Notification notification = new Notification(); startForeground(1, notification); 所以是啊,我有点失落,不确定如何实现这一点。

推送通知在应用程序处于后台或未运行时工作不正确

我正在使用Firebase云消息传递发送推送通知。 这是我的FirebaseMessageService : public class FireBaseMessageService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.e("TAG", "From: " + remoteMessage.getFrom()); Log.e("TAG", "Notification Message Body: " + remoteMessage.getData().get("CardName")+" : "+remoteMessage.getData().get("CardCode")); sendNotification(remoteMessage.getNotification().getBody()); } private void sendNotification(String messageBody) { Intent intent = new Intent(this, StartActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT); Uri […]