在我的应用程序中,我正在尝试使用警报管理器启动服务.当我点击按钮时,服务应该在我给出的特定时间开始.我的警报管理器代码如下:
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) 我正在开发一个应用程序,如果用户启用了特定功能(在我的应用程序中),我将启动该服务.我想在用户退出我的应用程序后继续运行此服务.我怎样才能做到这一点?请帮助
是否可以模拟后台应用程序(或服务)的触摸或运行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) 我稍微感到困惑之间的差异Asynctask,Thread,Service,Loader在Android系统.
我知道它是如何工作的.但我仍然不明白我应该使用什么以及何时使用.
我使用Android工作了3年,并且通常仍然AsyncTask用于所有后台任务(有时候用于Thread).但是很多人说"Asynctask已经过时了",不建议使用它们.他们还建议使用robospice或Volley.
那么,AsyncTask真的很糟糕,我应该使用框架进行网络任务?我应该将什么用于后台(而不是网络)任务?
我正在开发一个Android的娱乐应用程序.我想播放背景音乐,我想为此服务.应用程序有3个活动,必须在所有活动中播放音乐.此外,当活动暂停时,音乐必须暂停并在销毁时停止.谁能告诉我怎么做?任何链接或示例?
谢谢.
android background-music android-service android-music-player
我有一个应用程序,只要手机连接到WiFi,它就会更新数据库.我实现了一个Service和BroadcastReceiver这将运行Service(它会告诉我是什么用网络),但问题是我不知道是什么的在添加manifest文件开始BroadcastReceiver当它连接到某种当网络状态发生变化或网络
我的Android应用程序中有一项服务,它总是运行.现在我通过GCM从我的服务器获得设置并将这些设置更新到我的服务.我把我的设置放在了oncreate of service上.所以我需要重新启动我的服务以获取最新设置.如何重启我的服务?
因此,在观看关于此主题的非常有名的视频后,我决定采用设计模式B.使用带有servicehelper的contentprovider.

基本上我有以下文件:
在活动中,我现在可以获取contentresolver并查询提供者.到目前为止一切都很好.
现在我需要同步我的contentprovider以从REST API获取数据.因此,我需要实现服务帮助程序服务和Rest方法.研究谷歌IO应用程序已经帮助了我很多,我是Android的新手所以它仍然很难搞清楚.
我看到谷歌使用RemoteHandlers来处理外部数据,我猜他们是图中的处理器类?
我不明白的是我如何实现servicehelper +服务部分来从网络获取数据.
我已经在堆栈上阅读了几个关于此的主题,所有这些都提出了不同的方法 我找到了一个声明restprovider的示例,然后myProvider必须扩展该提供程序.我不喜欢这些解决方案,并希望遵循这种结构化设计模式.我希望你们能帮助我!
rest android android-service android-contentprovider googleio
我在启动活动时启动服务(或重新启动正在运行的服务),使用:
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()启动它时,为什么服务进程会被杀死?
编辑
从应用程序托盘关闭应用程序后,该服务用于重新启动.但现在突然使用相同的代码,它没有.当我关闭它时,它也会与其他应用程序一起发生.例如.

我正在创建一组应用程序,我为所有这些应用程序提供了相同的后台服务.
我正在尝试创建一个只有这个的应用程序Service.所以我不会在所有这些中重复它,但事情是不需要任何东西Activity.因为它不需要用户界面,因此用户无法关闭它,除非他们停止了Service.
我试图删除Activity,但然后应用程序不运行或启动.
我的问题是:我可以创建一个完全像Google Play Services其他应用程序可以使用它的应用程序Service.
如果是,则非常欢迎使用片段或样本.
android background-service android-service google-play-services