制作一个android应用程序,我有这个意向设置,让用户从所有应用程序的列表中进行选择,它可以正常工作。
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY);
pickIntent.putExtra(Intent.EXTRA_INTENT, mainIntent);
startActivityForResult(pickIntent, 0);
我还添加了一个onActivityResult()方法,但没有在其中写入任何代码。我需要在onActivityResult()中使用什么代码才能获得用户选择的应用程序的包名?
(或我可以用来启动所选应用程序的任何其他信息)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 0 && resultCode == Activity.RESULT_OK && data != null) {
ComponentName componentName = data.getComponent();
final String packageName = componentName.getPackageName();
final String activityName = componentName.getClassName();
}
}
或者您可以直接启动Activity(data);这样你就可以启动用户选择的应用程序。