私はこのJavaコードを持っています:
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> pkgAppsList = this.getPackageManager().queryIntentActivities( mainIntent, 0);
ArrayList<String> mIdList=new ArrayList<String>();
for(ResolveInfo mtemp:pkgAppsList){
mIdList.add(mtemp.activityInfo.applicationInfo.packageName);
}
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(mIdList.get(2));
startActivity( LaunchIntent )
私はこれをデルファイで使用しようとしていますが、関数 "queryIntentActivities" の結果が JList であるため、List < ResolveInfo > (java) の代わりに Jlist(デルファイで) を使用する方法がわかりません。
var pm:JPackageManager;
intent:JIntent;
list:jlist;
rinfo:JResolveInfo;
begin
pm:=SharedActivityContext.getPackageManager;
intent:=TJIntent.JavaClass.getIntent(TJIntent.JavaClass.ACTION_MAIN);
intent:= intent.addCategory(TJIntent.JavaClass.CATEGORY_LAUNCHER);
list:=pm.queryIntentActivities(intent,TJPackageManager.JavaClass.PERMISSION_GRANTED);
ShowMessage(IntToStr(list.size));
end;
DelphiでJresolverinfoに関連付けられたJlistを使用するにはどうすればよいですか? Javaでは次のように宣言されているため: List < ResolveInfo >for(ResolveInfo mtemp:pkgAppsList)
またはデルファイでこれ
を変換する方法
更新: またthe size of the list
、常に 0 ですが、それは不可能です。何が問題になる可能性がありますか?