获取用户从应用程序列表(android)中选择的应用程序的名称



制作一个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);这样你就可以启动用户选择的应用程序。

最新更新