我读了一些文章,似乎都做了同样的事情,我想知道启动服务之间的区别是什么:
Intent intent = new Intent(this, HelloService.class);
startService(intent);
Run Code Online (Sandbox Code Playgroud)
或者像那样:
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(this, MyService.class);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pintent);
Run Code Online (Sandbox Code Playgroud)
当我读完时,这两个做同样的事情,如果在服务中你返回一个参数START_STICKY;
我试图在远程服务器上移动上传.在我选择一个带有以下代码的文件并单击上传文件IS上传后,但是错误返回说代码:" - 200"消息:"HTTP错误"
var uploader = new plupload.Uploader(
{
runtimes : 'html4, html5, flash, silverlight',
browse_button : 'bt_browse',
container: document.getElementById('container'),
url : 'http://remote.com/upload.php',
silverlight_xap_url : 'js/Moxie.xap',
chunks_size: '20mb',
max_retries: 3,
filters : {
max_file_size : '100mb'
},
multi_selection : true,
init: {
PostInit: function() {
document.getElementById('filelist').innerHTML = '';
document.getElementById('bt_uploadfiles').onclick = function() {
uploader.start();
return false;
};
},
FilesAdded: function(up, files) {
plupload.each(files, function(file) {
//build list
}},
UploadProgress: function(up, file) {
$("#progressBar"+file.id).val(Math.round(file.percent));
if(Math.round(file.percent)==100){
$("#progressBar"+file.id).hide();
$("#deleteFile" + file.id).hide();
}
},
FileUploaded: …Run Code Online (Sandbox Code Playgroud) 过去几天我正在创建一个后台服务,我注意到很多人说AlarmManager是最好的方法.
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(ONE_TIME, Boolean.FALSE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
//After after 5 seconds
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 ,
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何确保如果此代码运行两次,则服务将不会启动2次.感谢您的帮助!