android利用adb命令,獲取當前介面(當前Task的棧頂).
開發專案中經常會遇到很多手機廠商製造的麻煩.如涉及許可權,程式授權(受信任應用),或service自啟動管理等.由於android手機種類繁多,廠商自制系統各自為王.弄得我們有時不得不針對固定的廠商或機型做定製開發.
本文就提供一種靠adb命令獲取手機當前activity的方法!
1.首先 要配置adb環境變數 這裡就不多說了,自己百度就好了,非常簡單!
2.配置好環境變數後,就可以運用adb 命令了.
以OPPO r9S獲取自啟動管理介面為例:
將手機調好到指定介面後:開啟cmd 輸入
1) adb devices //檢視連結裝置
adb shell dumpsys activity top //獲取棧頂activity
![Q%T]TN0RQ0X{@GP~TVZFG.png](http://upload-images.jianshu.io/upload_images/3995903-d4895ea759168dc6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2) 1.cmd命令中輸入:adb shell 進入shell命令模式
2.shell中輸入:logcat | grep ActivityManager 真機執行應用,可以實時 檢視當前正在執行的Activity;
或者也可以用第二種方法.
至於用那種,看介面吧,這裡第二種就不貼圖了.讀者自己去嘗試吧!
補充:已測試手機(為service開啟自啟動或設定受保護程式);
Intent intent3 = new Intent();
intent3.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName comp = null;
if (brand.equals("Huawei")) {//華為
comp = ComponentName
.unflattenFromString("com.huawei.systemmanager/.optimize.process.ProtectActivity");//設定管用,而且通知欄有通知
intent3.setComponent(comp);
startActivity(intent3);
} else if (brand.equals("Xiaomi")) {//小米
comp = ComponentName
.unflattenFromString("com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity");
intent3.setComponent(comp);
startActivity(intent3);
} else if (brand.equals("vivo")) {//vivo
comp = ComponentName
.unflattenFromString("com.iqoo.secure/.ui.phoneoptimize.AddWhiteListActivity");
intent3.setComponent(comp);
startActivity(intent3);
} else if (brand.equals("OPPO")) {//oppo
comp = ComponentName
.unflattenFromString("com.coloros.safecenter/.startupapp.StartupAppListActivity");
intent3.setComponent(comp);
startActivity(intent3);
}else if (brand.equals("LeEco")) {//樂視
comp = ComponentName
.unflattenFromString("com.letv.android.letvsafe/.BackgroundAppManageActivity");
intent3.setComponent(comp);
startActivity(intent3);
}else if (brand.equals("HONOR")) {//榮耀暢玩5A
comp = ComponentName
.unflattenFromString("com.huawei.systemmanager/.optimize.process.ProtectActivity");
intent3.setComponent(comp);
startActivity(intent3);
}else{
//以測魅族走這個
Intent intent = new Intent(Settings.ACTION_SETTINGS);
startActivity(intent);
}
相關文章
- php 獲取當前域名和當前協議PHP協議
- JavaScript 獲取當前月份JavaScript
- 獲取當前時間
- android粘性廣播主動獲取當前值Android
- 獲取當前頁面的topViewControllerViewController
- Java獲取當前星期幾Java
- mybatis獲取當前時間MyBatis
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- 獲取當前Tomcat例項的埠Tomcat
- 獲取當前時間往前的日期
- Spark獲取當前分割槽的partitionIdSpark
- python 如何獲取當前時間Python
- 如何用js獲取當前時間和ip地址以及當前城市JS
- 用js獲取當前月份的天數JS
- js獲取當前的具體時間JS
- 利用爬蟲獲取當前博文數量與字數爬蟲
- Java如何獲取當前執行緒Java執行緒
- Linux C獲取當前工作目錄Linux
- 微信小程式獲取當前位置微信小程式
- Flutter獲取當前網路型別Flutter型別
- Android開發:獲取當前系統時間和日期的方法Android
- ADB命令獲取Android UIDAndroidUI
- js根據IP地址獲取當前的省市JS
- 獲取當前修改的行記錄資料
- JVM 如何獲取當前容器的資源限制?JVM
- react獲取當前頁面的url引數React
- C# 獲取當前伺服器域名C#伺服器
- python怎麼獲取當前是幾點?Python
- 如何用Java獲取當前時間戳?Java時間戳
- 直播app原始碼,uniapp獲取當前位置APP原始碼
- WPF 前臺觸發器實時獲取當前時間觸發器
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- iOS獲取當前控制器的正確方式iOS
- 獲取當前js檔案被引用的路徑JS
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- C# 獲取系統當前IE版本號C#
- 獲取類屬性值,當前類,父類
- mysql獲取指定表當前自增id值MySql
- 封裝js獲取當前元素的弟弟元素節點封裝JS