編輯:初級開發
Android作為一個新興的手機智能操作系統已經越來越熱門,關於Android平台下的開發也是五花八門,最近做了一個android手機屏保軟件,分享一下,不正之處請大家多多指教。
大致的過程是這樣的:首先有一個Service,當然這個Service在主Activity中啟動,在Service中注冊一個receiver,該receiver 監聽系統的Screen Off(即屏幕關閉) 事件,當然在Service中要關閉原有的屏保(關閉系統屏保需要再配置文件中獲得權限)。然後在onReceive方法中啟動自己的屏保Activity。有一點需要注意到得是Screen off 事件不能在androidManifest.XML配置文件中注冊,現在還不清楚這是什麼原因,多以receiver必須在Java代碼中聲明和注冊。
下面附上部分代碼:
Service:
這兩個變量主要是為了關閉系統原有屏保,下面將用到
KeyguardManager mKeyguardManager=null;
private KeyguardLock mKeyguardLock=null;
關閉系統屏保:
mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
mKeyguardLock= mKeyguardManager.newKeyguardLock("");
mKeyguardLock.disableKeyguard();
注冊receiver:
BroadcastReceiver mMasterResetRecIEver= new BroadcastReceiver() {
public void onReceive(Context context, Intent intent){
try{
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setClass(context, MyScreenSaver.class);
context.startActivity(i);
//finish();
}catch(Exception e){
Log.i("Output:", e.toString());
}
}
};
registerReceiver(mMasterResetRecIEver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
可以看到在receiver的onReceive()函數中啟動一個屏保Activity。
之後我們需要再配置文件中申請權限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
將屏保Activity完成,程序就可以運行啦!!
附:
將Activity全屏顯示的方法:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags
(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
setContentVIEw(R.layout.main);
注意:
setContentVIEw(R.layout.main);全屏代碼之後,否則無效
任意鍵關閉屏保Activity可以通過重寫onKeyDown()函數來實現:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
super.onKeyDown(keyCode, event);
finish();
return true;
}
最近幾天由於項目的需要研究了一下listVIEw的滑動數據動態的更新顯示,其中需要在數據加載過程有圓形進度條的顯示,遇到的問題是進度條的顏色設置,在網上查了一些資料結合
---------首屆Google暑期大學生博客分享大賽——2010 Andriod篇接觸android也有半年了,小作品也發布了幾個,但是其中都沒有用到ServcIE
在android平台中可以使用第三方外部JAR庫文件,在Eclipse開發環境中,僅僅3步就可以使用第三方.jar文件:1.在Package Explorer(包浏覽器
1.2.2 範例程式(1):採單純繼承方法1.2.2.1 撰寫步驟:Step-1: 建立android專案:Px01。Step-2: 撰寫Activity的子類別:ac