سلام به دوستان یاهو 98
این تکه کد میتونه خیلی کاربردی باوشه
کد زیر رو به اکتیویتی اضافه کنید :
#If java import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import java.util.ArrayList; import java.util.List; public static class AppInfo { public String package_name; public String name; public AppInfo(String package_name, String name) { this.package_name = package_name; this.name = name; } } public static List<AppInfo> getInstalledApps() { Context context = BA.applicationContext; List<AppInfo> appsInfo = new ArrayList<>(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); PackageManager pM = context.getPackageManager(); List<ResolveInfo> pkgAppsList = pM.queryIntentActivities(mainIntent, 0); for (ResolveInfo info : pkgAppsList) { if (info != null && info.activityInfo != null) { ApplicationInfo applicationInfo = info.activityInfo.applicationInfo; if (!isSystemPackage(applicationInfo)) { AppInfo appInfo = new AppInfo(applicationInfo.packageName, applicationInfo.loadLabel(pM).toString()); appsInfo.add(appInfo); } } } return appsInfo; } private static boolean isSystemPackage(ApplicationInfo applicationInfo) { return (applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0; } #End If
کد زیر رو به منیفست اضافه کنید
AddManifestText( <queries> <intent> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent> </queries> )
به شکل زیر لیست برنامه های نصب شده توسط کاربر رو بگیرید
Dim jo As JavaObject
jo.InitializeContext
Dim apps As List=jo.RunMethod("getInstalledApps",Null)
For Each app As Object In apps
Dim jo As JavaObject=app
Dim name As String=jo.GetField("name")
Dim package_name As String=jo.GetField("package_name")
Log("name="&name&" *** package="&package_name)
Next
امیدوارم مفید واقع شده باشد .