編輯:關於Android編程
/** * 判斷某一個類是否存在任務棧裡面 * @return */ private boolean isExsitMianActivity(Class cls){ Intent intent = new Intent(this, cls); ComponentName cmpName = intent.resolveActivity(getPackageManager()); boolean flag = false; if (cmpName != null) { // 說明系統中存在這個activity ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); ListtaskInfoList = am.getRunningTasks(10); for (RunningTaskInfo taskInfo : taskInfoList) { if (taskInfo.baseActivity.equals(cmpName)) { // 說明它已經啟動了 flag = true; break; //跳出循環,優化效率 } } } return flag; } /** * 進行邏輯處理 */ public void dealWithIntent(){ if(isExsitMianActivity(MainActivity.class)){//存在這個類 //進行操作 }else{//不存在這個類 //進行操作 } }
public boolean checkApplication(String packageName) { if (packageName == null || .equals(packageName)){ return false; } try { ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true; } catch (NameNotFoundException e) { return false; } }
二、判斷Activity是否存在
Intent intent = new Intent(); intent.setClassName(包名, 類名);
方法一:
if (getPackageManager().resolveActivity(intent, 0) == null) { // 說明系統中不存在這個activity }
方法二:
if(intent.resolveActivity(getPackageManager()) == null) { // 說明系統中不存在這個activity }
方法三:
Listlist = getPackageManager().queryIntentActivities(intent, 0); if (list.size() == 0) { // 說明系統中不存在這個activity }
效果圖: 有時候我們需要去做一個Activity啟動時的數據加載對話框,關於對話框的各種實現可以通過一起學android之對話框 Dial
先看效果圖 如何使用 import java.text.DateFormat; import java.text.ParseException; import jav
本篇我們來做一個類似於微信的圖片點擊浏覽的效果,點擊小圖圖片後會放大至全屏顯示,且中間有一個2D平滑過渡的效果。 思路如下: 首先,從圖片縮略界面跳轉到圖片詳情頁面,應該
適配:即當前應用在相同的手機上面顯示相同的效果。適配前需要首先確定當前手機所屬像素密度類型(如:xhdpi、hdpi、mdpi等),然後計算其像素密度,按一定比例給出界面