如何从微调器中显示的列表中获取Android应用程序的uid值?

我正在开发一个小应用程序,它将已安装的应用程序显示为微调器中的列表.只有应用程序名称显示为微调器值.每当我从微调器中选择一个应用程序时,我需要检索所选应用程序的UID.我该如何实现这个功能

以下是我从微调器获取应用程序名称代码

appspinner.setonItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent,View arg1,int app_pos,long app_id) {
            // Todo Auto-generated method stub
            String app_selected=parent.getItemAtPosition(app_pos).toString();

        }

        @Override
        public void onnothingSelected(AdapterView<?> arg0) {
            // Todo Auto-generated method stub
            return;
        }
    });

已安装的应用程序使用PackageManager类存储在列表中,并使用PackageInfo类获取应用程序的名称.

解决方法

您需要使用PackageManager来获取有关您在列表中选择的任何应用程序的包信息.我没有使用Spinner完成此操作,但我确信它应该与我在ListView中的工作方式相同.
appspinner.setonItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent,long app_id) {
        // Todo Auto-generated method stub
        String app_selected=parent.getItemAtPosition(app_pos).toString();

        final PackageManager pm = getPackageManager();
        //get a list of installed apps.
        List<ApplicationInfo> packages = pm.getInstalledApplications(
                PackageManager.GET_Meta_DATA);
        int UID;
        //loop through the list of installed packages and see if the selected
        //app is in the list
        for (ApplicationInfo packageInfo : packages) {
            if(packageInfo.packageName.equals(app_selected)){
                //get the UID for the selected app
                UID = packageInfo.uid;
                break; //found a match,don't need to search anymore
            }

        }

        //Do whatever with the UID
        Log.i("Check UID","UID is: " + UID);               

    }

    @Override
    public void onnothingSelected(AdapterView<?> arg0) {
        // Todo Auto-generated method stub
        return;
    }
});

您可能想要查看packageName如何返回packageName,以便您可以尝试将其与所选的任何内容进行匹配.

希望这能指出你正确的方向并帮助你.祝好运.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...