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);
}
相關文章
- Android獲取當前桌面桌布Android
- Android判斷當前棧頂Activity的包名Android
- php 獲取當前域名和當前協議PHP協議
- Android中獲取當前位置資訊Android
- android 6.0下獲取當前呼叫介面的包名Android
- JavaScript 獲取當前月份JavaScript
- JavaScript 獲取當前域名JavaScript
- javascript獲取當前urlJavaScript
- 利用js獲取當前頁面的域名程式碼JS
- mybatis獲取當前時間MyBatis
- Java獲取當前星期幾Java
- JQuery獲取當前元素本身jQuery
- java獲取當前時間Java
- Qt獲取當前時間QT
- js獲取當前時間JS
- Qt 獲取當前時間QT
- Android獲取當前Activity的螢幕截圖Android
- jQuery如何獲取當前元素的索引jQuery索引
- javascript獲取當前的時間戳JavaScript時間戳
- 獲取當前會話資訊的方法會話
- 微信小程式獲取當前位置微信小程式
- 如何用js獲取當前時間和ip地址以及當前城市JS
- android粘性廣播主動獲取當前值Android
- Android Service獲取當前位置(GPS+基站)Android
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- Spark獲取當前分割槽的partitionIdSpark
- 獲取當前Tomcat例項的埠Tomcat
- js獲取當前的具體時間JS
- 點選事件獲取當前li的索引事件索引
- JavaScript獲取當前li元素的索引位置JavaScript索引
- 用js獲取當前月份的天數JS
- jQuery如何獲取當前元素的兄弟元素jQuery
- Javascript獲取當前時間戳的方法JavaScript時間戳
- 獲取當前會話資訊的方法(二)會話
- 獲取當前會話的trc檔名會話
- 獲取當前頁面的topViewControllerViewController
- Flutter獲取當前網路型別Flutter型別
- python 如何獲取當前時間Python