android 强制下线功能,Android学习之基础知识八—Android广播机制实践(实现强制下线功能)...
強制下線功能算是比較常見的了,很多的應用程序都具備這個功能,比如你的QQ號在別處登錄了,就會將你強制擠下線。實現強制下線功能的思路比較簡單,只需要在界面上彈出一個對話框,讓用戶無法進行任何操作,必須要點擊對話框中的確定按鈕,然后回到登錄界面即可。下面我們就來一步一步的實現這個功能:
第一步:創建一個活動管理器ActivityCollector,用于管理所有的活動
第二步:創建所有活動的父類BaseActivity,繼承AppCompatActivity
因為所有的活動都是繼承該活動,所有我們在該活動中動態注冊廣播接收器,這里我們通過創建內部類的方式定義了廣播接收器,然后重寫了:onResume()方法、onPause()方法來
分別注冊和取消注冊廣播接收器。因為我們始終需要保證只有處于棧頂的活動才能接收到這條強制下線廣播,非棧頂的活動不應該也沒有必要去接收這條廣播,所以寫在onResume()方法和onPause()方法中就可以很好的解決這個問題,當一個活動失去棧頂位置時,就會自動取消廣播接收器的注冊。
第三步:創建登錄界面LoginActivity,布局文件為:activity_login.xml
登錄布局最外層是個縱向的LinearLayout,里面包含3個直接子元素:第一行是橫向LinearLayout,用于輸入賬號信息;第二行也是一個橫向的LinearLayout,用于輸入密碼信息;第三行是一個登錄按鈕。登錄后的界面是:MainActivity
第四步:在登錄成功后的界面(MainActivity)上設置一個按鈕,點擊這個按鈕發送廣播,在該活動下加入了強制下線的功能。
點擊按鈕,發送一條廣播,廣播的值為:com.workspace.hh.broadcastbestpractice.FORCE_OFFLINE.這條廣播用于通知程序強制用戶下線。而強制下線的邏輯是寫在接收這條廣播的廣播接收器中的,這樣做使得強制下線功能不依附于任何的界面,不管是在程序的任何地方,只需要發出一條廣播,就可以完成強制下線的操作了。
第五步:在AndroidManifest中將主活動設置為:LoginActivity.
第六步:運行程序,用戶名或密碼不正確(左),點擊按鈕發送廣播(中),點擊“OK”按鈕強制下線(右)
?
總結
以上是生活随笔為你收集整理的android 强制下线功能,Android学习之基础知识八—Android广播机制实践(实现强制下线功能)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android.mk ndk编译选项优化
- 下一篇: android动画送礼物,Android