我正在开发一个需要运行外部LuaJ解释器的应用程序,以获取到目前为止在系统上运行的应用程序的信息。 我发现there是Java代码,但不是在LuaJ上。
这是我做某事的尝试。
local pm = activity:getPackageManager()
local packages = pm:getInstalledApplications(activity.GET_META_DATA)
local size = packages:size()
for i=0,size-1 do
packageInfo = packages:get(i)
if not packageInfo:equals(flags) and not packageInfo:equals(FLAG_SYSTEM) and not packageInfo:equals(FLAG_STOPPED) then
print(packageInfo.packageName)
end
end
但是“ equals(...)”存在问题。 请帮忙
答案 0 :(得分:0)
这是对自己的回答。
local pm = activity:getPackageManager()
local packages = pm:getInstalledApplications(activity.GET_META_DATA)
local size = packages:size()
local packageInfo, packageName, ai, str
for i=0,size-1 do
packageInfo = packages:get(i)
packageName = packageInfo.packageName
ai = pm:getApplicationInfo(packageName)
if ai and string.find(packageInfo.sourceDir, "^/data/app/") and pm:getLaunchIntentForPackage(packageName) then --nonSystem app
print(pm:getApplicationLabel(ai))
end
end