标签: android-service

如何在Android中使用Alarm Manager启动服务?

在我的应用程序中,我正在尝试使用警报管理器启动服务.当我点击按钮时,服务应该在我给出的特定时间开始.我的警报管理器代码如下:

public void onClick(View view) 
{
    if(view == m_btnActivate)
    {
        Calendar cur_cal = Calendar.getInstance();
        cur_cal.setTimeInMillis(System.currentTimeMillis());
        cur_cal.add(Calendar.SECOND, 50);
        Log.d("Testing", "Calender Set time:"+cur_cal.getTime());
        Intent intent = new Intent(DashboardScreen.this, ServiceClass.class);
        Log.d("Testing", "Intent created");
        PendingIntent pi = PendingIntent.getService(DashboardScreen.this, 0, intent, 0);
        AlarmManager alarm_manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        alarm_manager.set(AlarmManager.RTC, cur_cal.getTimeInMillis(), pi);
        Log.d("Testing", "alarm manager set");
        Toast.makeText(this, "ServiceClass.onCreate()", Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

而bellow是我的服务类:

    public class ServiceClass extends Service{

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        Log.d("Testing", "Service got created");
        Toast.makeText(this, "ServiceClass.onCreate()", Toast.LENGTH_LONG).show();
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

android android-service

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

即使用户退出应用后,如何让服务在后台运行?

我正在开发一个应用程序,如果用户启用了特定功能(在我的应用程序中),我将启动该服务.我想在用户退出我的应用程序后继续运行此服务.我怎样才能做到这一点?请帮助

android android-service

32
推荐指数
3
解决办法
7万
查看次数

如何使用sendevent或其他方式模拟后台服务的触摸?

是否可以模拟后台应用程序(或服务)的触摸或运行sh脚本(模拟触摸)?

它需要测试Android系统没有USB或其他连接到PC,这就是为什么我不能(或不知道如何)使用Monkey或其他自动测试工具.

补充信息:我找到了使用root运行shell命令的方法(已测试的设备已植根):

无法通过android代码执行sendevent shell命令(创建触摸模拟). 在系统分区上写入文件(使用root权限运行命令)

我也得到了模拟触摸的事件.

结果我有:

//sendevent commands to simulate touch (verify it work from cmd)
String[] touchEvent = { "sendevent /dev/input/event0 0 0 0\n",
                        "sendevent /dev/input/event6 3 53 499\n",
                        "sendevent /dev/input/event6 3 54 680\n",
                        "sendevent /dev/input/event6 3 58 40\n",
                        "sendevent /dev/input/event6 3 48 3\n",
                        "sendevent /dev/input/event6 3 57 0\n",
                        "sendevent /dev/input/event6 0 2 0\n",
                        "sendevent /dev/input/event6 0 0 0\n",
                        "sendevent /dev/input/event6 0 2 0\n",
                        "sendevent /dev/input/event6 0 0 0\n",
                        "sendevent /dev/input/event0 3 0 2\n",
                        "sendevent …
Run Code Online (Sandbox Code Playgroud)

shell android android-ndk android-service

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

Asynctask vs Thread vs Services vs Loader

我稍微感到困惑之间的差异Asynctask,Thread,Service,Loader在Android系统.

我知道它是如何工作的.但我仍然不明白我应该使用什么以及何时使用.

我使用Android工作了3年,并且通常仍然AsyncTask用于所有后台任务(有时候用于Thread).但是很多人说"Asynctask已经过时了",不建议使用它们.他们还建议使用robospice或Volley.

那么,AsyncTask真的很糟糕,我应该使用框架进行网络任务?我应该将什么用于后台(而不是网络)任务?

multithreading android android-service android-asynctask

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

Android背景音乐服务

我正在开发一个Android的娱乐应用程序.我想播放背景音乐,我想为此服务.应用程序有3个活动,必须在所有活动中播放音乐.此外,当活动暂停时,音乐必须暂停并在销毁时停止.谁能告诉我怎么做?任何链接或示例?

谢谢.

android background-music android-service android-music-player

31
推荐指数
4
解决办法
10万
查看次数

当wifi或3g网络状态改变时,BroadcastReceiver

我有一个应用程序,只要手机连接到WiFi,它就会更新数据库.我实现了一个ServiceBroadcastReceiver这将运行Service(它会告诉我是什么用网络),但问题是我不知道是什么的在添加manifest文件开始BroadcastReceiver当它连接到某种当网络状态发生变化或网络

android android-service

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

如何在android中重启服务再次调用服务oncreate

我的Android应用程序中有一项服务,它总是运行.现在我通过GCM从我的服务器获得设置并将这些设置更新到我的服务.我把我的设置放在了oncreate of service上.所以我需要重新启动我的服务以获取最新设置.如何重启我的服务?

android android-service

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

Google IO Rest设计模式,已完成的ContentProvider现已停止

因此,在观看关于此主题的非常有名的视频后,我决定采用设计模式B.使用带有servicehelper的contentprovider.

谷歌设计模式休息

基本上我有以下文件:

  • MYPROVIDER
  • MyDatabase的
  • Mycontract

在活动中,我现在可以获取contentresolver并查询提供者.到目前为止一切都很好.

现在我需要同步我的contentprovider以从REST API获取数据.因此,我需要实现服务帮助程序服务和Rest方法.研究谷歌IO应用程序已经帮助了我很多,我是Android的新手所以它仍然很难搞清楚.

我看到谷歌使用RemoteHandlers来处理外部数据,我猜他们是图中的处理器类?

我不明白的是我如何实现servicehelper +服务部分来从网络获取数据.

  • 我在哪里打电话给服务助手?
  • 服务和助手需要做什么?
  • 这个确切的设计模式有什么好的例子吗?

我已经在堆栈上阅读了几个关于此的主题,所有这些都提出了不同的方法 我找到了一个声明restprovider的示例,然后myProvider必须扩展该提供程序.我不喜欢这些解决方案,并希望遵循这种结构化设计模式.我希望你们能帮助我!

rest android android-service android-contentprovider googleio

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

从应用程序托盘中删除应用程序后,将终止服务进程

我在启动活动时启动服务(或重新启动正在运行的服务),使用:

Intent intent = new Intent(this, MyService.class); startService(intent);

稍后基于某些操作,相同的活动将使用绑定到服务

bindService(new Intent(this, MyService.class), mConnection, Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)

当活动被破坏时,我打电话

unbindService(mConnection);
Run Code Online (Sandbox Code Playgroud)

早些时候,当我从应用程序托盘中杀死相同的活动/应用程序并在运行的应用程序下显示"消息1进程1服务正在运行"时,该服务用于重新启动.

现在,该服务不会在杀死相同的活动/应用程序时重新启动.

我收到消息"0进程1服务正在运行",这意味着该服务实际上没有运行.

应用程序关闭时,服务不会重新启动.我的申请包含一项活动.在系统引导后启动时,服务也会成功启动.

当我使用startService()启动它时,为什么服务进程会被杀死?

编辑

从应用程序托盘关闭应用程序后,该服务用于重新启动.但现在突然使用相同的代码,它没有.当我关闭它时,它也会与其他应用程序一起发生.例如.

在此输入图像描述

android android-service

30
推荐指数
3
解决办法
4万
查看次数

Android应用程序作为没有活动的服务

我正在创建一组应用程序,我为所有这些应用程序提供了相同的后台服务.

我正在尝试创建一个只有这个的应用程序Service.所以我不会在所有这些中重复它,但事情是不需要任何东西Activity.因为它不需要用户界面,因此用户无法关闭它,除非他们停止了Service.

我试图删除Activity,但然后应用程序不运行或启动. 我的问题是:我可以创建一个完全像Google Play Services其他应用程序可以使用它的应用程序Service.

如果是,则非常欢迎使用片段或样本.

android background-service android-service google-play-services

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