當前位置:首頁 » 安卓系統 » android獲取安裝的應用

android獲取安裝的應用

發布時間: 2022-09-22 20:30:29

① Android-Android如何得到最初安裝時應用的名稱

應用的名稱不是文件名得來的。是通過packagemanager介面獲取。

final PackageManager pm = context.getPackageManager();

ApplicationInfo ai;

try {

ai = pm.getApplicationInfo(packageName, 0);

} catch (final NameNotFoundException e) {

ai = null;

}

final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
在用戶安裝完之後,可以通過監聽廣播,獲取安裝的應用名稱信息。

② 如何查詢android中安裝的應用

之前也就是Android系統5.0之前我們一貫的做法去棧頂應用的方法是用getRunningTask,但是5.0之後被google給屏蔽了,但是對於我們做應用鎖,或者桌面懸浮窗的小夥伴們可如何是好,因為沒有這些我們是無法判斷當前的棧頂程序是誰,我們就不能對之進行程序加密,或者隱藏和顯示桌面懸浮窗了。總會有方法的,查資料發現大家都在用」有權查看使用情況的應用程序「 也就是用UsageStatsManager獲取棧頂程序,但是他需要我們程序賦予App許可權,也就是」有權查看使用情況的應用程序「
就是在安全-高級-有權查看使用情況的應用 在這個模塊中勾選上指定APP就可以獲取到棧頂的應用名。
程序中我們用Settings.ACTION_USAGE_ACCESS_SETTINGS 這個常量就是跳轉到設置界面。
注意:這個設置被部分廠商給拿掉了,例如:小米和魅族
這個選項需要的許可權

[html] view plain
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />

③ android 中獲取當前設備安裝了哪些應用

這是獲得系統已安裝的所有應用的一種方法:

java">privateStringgetAllApp(Contextcontext){
StringpackageName="";
PackageManagerpm=context.getPackageManager();
List<PackageInfo>packagelist=pm.getInstalledPackages(0);
for(inti=0;i<packagelist.size();i++){
PackageInfopackageInfo=packagelist.get(i);
packageName=packageName+" 應用包名:"+packageInfo.packageName;
}
returnpackageName;
}

以上內容在Android 5.0測試通過,沒有使用任何已被Google棄用的方法,而且SDK版本要求不高,理論上向上、向下都可以兼容。

(答題不易,正確請採納)

④ 如何獲取android手機上已安裝軟體的下載位置或來源

下載位置在於有沒有刪除,沒有刪除的話,搜索下apk文件安裝包即可。

下載來源就沒法判斷了,因為方式太多了。安裝包不會顯示下載來源的。
如果只是想要安裝包,可以搜索相關軟體名稱。
或者用es 幸運破解器之類的軟體提取或者備份已經安裝的軟體。

⑤ 如何獲取android手機上已安裝軟體的下載位置或來源

android手機安裝的軟體在SD卡上無法找到的。但是android手機本身就會對apk做備份處理,也就是說只要手機上裝的應用,都可以在手機上找出來

查找方式:

  1. 用戶安裝的第三方應用,apk文件保存在 /data/app 目錄下

  2. 系統自帶的應用,apk文件保存在 /system/app 目錄下

  3. android手機本身是無法查看的,需要連接到電腦上才能查看

  4. android 手機是linux內核,/data /system目錄都是屬於 root用戶才能查看的,因此你需要先獲取root許可權才能查看

⑥ 如何提取已經安裝在Android系統的apk

一、APK生成 odex文件方法:
編譯開源GIT上的build/tools /dexpreopt/dexopt-wrapper這個,使用dexopt-wrapper即可,操作步驟將dexopt-wrapper放到/data/local目錄中,使用adb shell執行linux命令行,使用cd命令進入/data/local目錄,cd /data/local./dexoptwrapper android123.apk android123.odex
二、合並odex和 少dex的apk 為完整的apk文件

需要用到的工具是smali,一個開源的java處理軟體:

1.下載的baksmali和 smali的jar文件到工作目錄

2.把ROM裡面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex這5個文件也放在同一目錄(也可以放在別的目錄,通過設置BOOTCLASSPATH指定,默認就是當前目錄)。
例:以teeter為例子 (HTC一些Android常常會內置),ROM裡面拿出來的可能是2個文件,teeter.apk + teeter.odex。
1、分解odex文件:java -jar baksmali-1.2.1.jar -x teeter.odex如果沒其他問題,會在工作目錄生成一個out的目錄,裡面是分解出來的一些文件,我們在此不深究這些文件的作用。
2、把分解得到的文件變成classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,這樣得到了一個有用的classes.dex文件

3、用WinZip或者WinRAR打開teeter.apk文件,把這個classes.dex 放進去

4、最後再用signapk把最新得到的這個包含classes.dex的apk重新簽署一下 (Auto Sign簽名工具往期的文章里有下載),就生成一個可以安裝的單獨APK程序了。

5、簽名完成後即可安裝使用了

⑦ android怎麼獲取已安裝appl

android這邊提供了相應的介面。

[java] view plain
final PackageManager packageManager = getActivity().getPackageManager();//獲取packagemanager
List< PackageInfo> pinfo = packageManager.getInstalledPackages(0);//獲取所有已安裝程序的包信息
if(pinfo != null){
for(int i = 0; i < pinfo.size(); i++){
String packName = pinfo.get(i).packageName;
Log.d("info", "-->"+packName);
}
}

上面的例子可以列印出安裝軟體的包名。每個程序的包名在android手機里都是唯一的。

判斷手機是否安裝了某個程序,如果安裝了此程序,刪除它。

[java] view plain
private void uninstallSoftware(Context context, String name) {
final PackageManager packageManager = context.getPackageManager();
try {
PackageInfo pInfo = packageManager.getPackageInfo(name,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
if(pInfo!=null){
//刪除軟體
Uri uri = Uri.parse("package:"+ name);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
context.startActivity(intent);
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
從android2.2開始軟體可以安裝到SD卡上,所以也有相應介面判斷程序是否安裝到SD卡上

[java] view plain
private void isInstallOnSd(Context context,String name){
PackageManager pm=context.getPackageManager();
ApplicationInfo appInfo;
try {
appInfo = pm.getApplicationInfo(name, 0);
if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
// App on sdcard
Log.d("info", "app on sd");
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}

⑧ 通過adb和shell 怎樣獲取Android設備已安裝的App

解決方案1:
你想獲取apk文件還是什麼?直接adb pull /system/app/xx.apk D:\ 就可以獲取到電腦上
解決方案2:
adb shell 'pm list packages -f' | sed -e 's/.*=//' | sort
解決方案3:
不是查看自帶的安裝app
我是想查看,目個app是否安裝成功!
比如我新安裝了一個aaa.apk
我怎麼知道這個aaa.apk 安裝成功!
怎麼通過adb shell命令來 知道這個aaa是否安裝成功!

⑨ android怎麼獲取剛剛下載安裝的APK的APP名字和圖片

用intentfilter獲取安裝的apk
包名,在BroadcastReceiver裡面就可以拿到安裝的包名和APP,等基本信息,再利用packageManager的功能就可能放到listView裡面.

⑩ Android該怎樣獲取系統上安裝的APP信息

publicclass AppInfo {
public String appName="";
public String packageName="";
public String versionName="";
publicint versionCode=0;
public Drawable appIcon=null;
publicvoid print()
{
Log.v("app","Name:"+appName+" Package:"+packageName);
Log.v("app","Name:"+appName+" versionName:"+versionName);
Log.v("app","Name:"+appName+" versionCode:"+versionCode);
}
}

ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用來存儲獲取的應用信息數據
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);

for(int i=0;i<packages.size();i++) {
PackageInfo packageInfo = packages.get(i);
AppInfo tmpInfo =new AppInfo();
tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
appList.add(tmpInfo);

}
// 這下手機上安裝的應用數據都存在appList里了。

熱點內容
谷能壓縮機 發布:2025-01-13 15:44:30 瀏覽:412
電腦電腦直連通訊ftp 發布:2025-01-13 15:38:03 瀏覽:717
nvm存儲 發布:2025-01-13 15:36:19 瀏覽:552
京東架構師緩存經驗 發布:2025-01-13 15:33:00 瀏覽:726
android圖片顏色 發布:2025-01-13 15:26:09 瀏覽:268
國家稅務總局電腦伺服器 發布:2025-01-13 15:10:24 瀏覽:596
金立老款機的開機密碼是多少 發布:2025-01-13 15:04:45 瀏覽:456
湖南網上辦稅初始密碼多少 發布:2025-01-13 15:02:49 瀏覽:417
怎麼使用筆記本連接伺服器 發布:2025-01-13 15:02:48 瀏覽:705
長城cs75plus選哪個配置 發布:2025-01-13 14:54:05 瀏覽:22