1. android 後台定時任務有幾種實現方式
123456789ignore_user_abort();//關掉瀏覽器,PHP腳枝鎮本也可以繼續執行.<a href="/s?wd=set_time_limit&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight"纖手>set_time_limit</a>(0);// 通過<a href="/s?wd=set_time_limit&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">set_time_limit</a>(0)可以讓程序無限制的執行下去$interval=60*30;// 每隔半小時運行do{ //ToDo sleep($interval);// 等待5分鍾}while(true); 簡單直接不毀搭嫌顧後果型
2. android 定時器如何讓某天某個時間啟動
Android中使用AlarmManager進行定時操作,現在需要啟動多個定時器,但無論採用哪種方式後面的定時器都會將前面的定時器覆蓋掉(Android系統版本2.1),只啟動最後一個定時器,見代碼 java code// 方式一for (int i = 0; i < 10; i ++) { ... AlarmManager am = null; am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE); ... Intent i = new Intent("xxx"); PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); ... am.setRepeating(...);}// 方式二AlarmManager am = null;am = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE);for (int i = 0; i < 10; i ++) { ... Intent i = new Intent("xxx"); PendingIntent sender = PendingIntent.getBroadcast(context.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); ... am.setRepeating(...);} 請問如果要實現啟動多個定時器應該怎麼操作?Android系統的鬧鍾就是採用AlarmManager進行操作的,如何才能啟動多個定時器呢?先謝謝大家了 ------解決方案-------------------- public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags) requestCode 需要是唯一的
3. android service 做個定時器 時間到了無論在那個程序都會顯示對話框
只需要在service里彈出一個全局對話框即可,以下是示例代碼:
1.創建對象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("請輸入"); //設置對蘆衡雀話框標題
builder.setIcon(android.R.drawable.btn_star); //設置對話框標題前的圖標
2.創建EditText輸入框
final EditText edit = new EditText(context);
3.將輸入框賦值給Dialog,並增加確定取消按鍵
builder.setView(edit);
builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你輸入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你點了攔沖取消", Toast.LENGTH_SHORT).show();
}
});
4.設置常用api,並show彈出
builder.setCancelable(true); //設置按鈕是否可以按返回鍵取消,false則不可以取消
AlertDialog dialog = builder.create(); //創建對話框
dialog.setCanceledOnTouchOutside(true); //設置彈出框失去焦點是否隱藏,即點擊屏陪早蔽其它地方是否隱藏
dialog.show();
4. android怎麼實現定時的操作
有時候我們會遇到定時打開某些應用的這樣一種需求。
比如最近我在使用讀者 Android版的應用的時候,每次打開應用,應用發送一定的聯網請求之後就可以給我的賬號增加一定的積分,連續登錄的次數越多,積分獎勵越多。而一旦有一天沒有登錄,積分獎勵又從最初的值開始。
為了避免某一天忘記打開應用或者應用打開後聯網需要等待一段時間,可以通過定時達人這款手機應用定時地打開其它應用。
工具/原料
Android手機(我手機目前系統版本是4.2.2)
定時達人(TimeDo)
讀者 Android應用
方法/步驟
在手機上安裝定時達人軟體
定時達人有自己的網站,相關應用在各大應用商城也有。可以通過apk進行安裝,可以從應用商店下載安裝。我是從散配google play上下載安裝的。
添加新任務
設置任務困隱——設置時間
設置任務——給任務取個名字
設置任務——添加新任務
選擇運行程序一欄
設置任務——選擇定時打開的應用程序
點擊應用程序,選擇讀者。
保存設置
這汪掘廳里需要點兩次保存,之後就回到了定時達人主頁面。
通過立即執行進行測試設置效果
單擊定時打開讀者一欄,在彈出下拉框中選擇立即執行來立即執行任務。在設置正確的情況下讀者應用被打開,通知欄會有相應通知提示。
在之前的設置步驟中,保持了默認的循環方式,即周循環,一周的每一天都選中。按照設置,每一天的指定時間都可以自動打開相應應用。
5. Android怎麼定時上傳數據到伺服器
首先和伺服器建立socket 通訊,接通後進行數據傳輸,而你僅僅需要加一個定時器,到規定時間就傳輸數據,總得來說,你只需要看看socket和定時器這兩塊內容就完全足夠了
6. android怎麼設置一個定時的任務
我知道的有三種方法;
方法一:可以通過android自帶的Handler機制,裡面有new Handler().postDelayed(new Runnable(){
@Override
public void run() {
//延遲的時間到了執行
}
},延遲的時間);
方法二:可以通過java裡面的線程來寫,new Thread().sleep(延遲時間);時間到了會繼續執行;
方法三:java定時器(有很多方法)例如:
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
System.out.println("-------設定要指定任務--------");
}
}, long delay,long period);
delay延遲的時間,period為多久執行一次;
個人推薦用方法一,畢竟安卓系統自帶的,並且安卓不適合加定時器,如果處理不當一直執行的話,要麼卡,要麼程序崩潰。還有發布版本可能審核不通過。
7. mqtt 怎麼實現android以後台service的方式獲取gps數據,並定時發送到伺服器
1 從Service繼承一個類。
2 創建startService()方法。
3 創建endService()方法 重載onCreate方法和onDestroy方法,並在這兩個方法裡面來調用startService以及endService。
4 在startService中,通過getSystemService方法獲取Context.LOCATION_SERVICE。
5 基於LocationListener實現一個新類。默認將重載四個方法onLocationChanged、onProviderDisabled、onProviderEnabled、onStatusChanged。對於onLocationChanged方法是我們更新最新的GPS數據的方法。一般我們的操作都只需要在這里進行處理。
6 調用LocationManager的requestLocationUpdates方法,來定期觸發獲取GPS數據即可。在onLocationChanged函數裡面可以實現我們對得到的經緯度的最終操作。
7 最後在我們的Activity裡面通過按鈕來啟動Service,停止Service。
示意代碼如下:
package com.offbye.gpsservice;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
public class GPSService extends Service {
// 2000ms
private static final long minTime = 2000;
// 最小變更距離10m
private static final float minDistance = 10;
String tag = this.toString();
private LocationManager locationManager;
private LocationListener locationListener;
private final IBinder mBinder = new GPSServiceBinder();
public void startService() {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSServiceListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance,
locationListener);
}
public void endService() {
if (locationManager != null && locationListener != null) {
locationManager.removeUpdates(locationListener);
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return mBinder;
}