編輯:關於Android編程
1.首先我們的目的是長期監聽時間變化,其實應用程序退出。
通過了解我們知道注冊ACTION_TIME_TICK廣播接收器可以監聽系統事件改變,但是
查看SDK發現ACTION_TIME_TICK廣播事件只能動態注冊:
Broadcast Action: The current time has changed. Sent every minute. You can not receive this through components declared in manifests, only by exlicitly registering for it with Context.registerReceiver().
所以要想實現長期監聽時間變化,就需要借助後台服務的幫助了
2.解決方法(3步驟):
(1)在某個時間啟動後台服務
package com.example.broadcastreceiverofdatachange;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//啟動後台服務
Intent service=new Intent(this, TimeService.class);
startService(service);
}
}
(2)在服務組件中動態注冊廣播事件
package com.example.broadcastreceiverofdatachange;
import android.app.Service;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.util.Log;
public class TimeService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.i("liujun", "後台進程被創建。。。");
//服務啟動廣播接收器,使得廣播接收器可以在程序退出後在後天繼續執行,接收系統時間變更廣播事件
DataChangeReceiver receiver=new DataChangeReceiver();
registerReceiver(receiver,new IntentFilter(Intent.ACTION_TIME_TICK));
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("liujun", "後台進程。。。");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
Log.i("liujun", "後台進程被銷毀了。。。");
super.onDestroy();
}
}
(3)在廣播接收器組件中操作
package com.example.broadcastreceiverofdatachange;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class DataChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("liujun", "時間發生變化。。。");
}
}
//至此長期實現後台監聽時間變化Demo就完成了。。。
本文介紹Android中的5種數據存儲方式,具體內容如下 數據存儲在開發中是使用最頻繁的,在這裡主要介紹Android平台中實現數據存儲的5種方式,
最近搞一個項目,需要用到類似於新浪微博的消息流,即每一項有文字、有九宮格圖片,因此這就涉及到ListView或者ScrollView嵌套GridView的問題。其中Gri
Android Monitor包含一個CPU Monitor,可以讓你非常方便的監測你的應用的CPU的使用。它顯示試試的CPU使用。在CPU Monitor顯示正在運行的
本文主要介紹使用Google自帶的FaceDetectionListener進行人臉檢測,並將檢測到的人臉用矩形框繪制出來。本文代碼基於PlayCameraV1.0.0,