Android根据包名取得指定程序包的信息(名称、图标……)



本文讨论如何根据包名取得程序包相关信息,本例演示取得Android系统程序的名称和图标(注意:并不是每一个程序包都有程序名称和图标)。

效果图如下:

主程序源码如下:

package com.plter.getsystemicon;
 
import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
 
public class P0001_GetSystemIconActivity extends Activity {
 
    private ImageView appIconIv;
    private TextView appNameTv;
    private LinearLayout.LayoutParams llp=new LinearLayout.LayoutParams(-2, -2);
    private LinearLayout mainLayout;
 
    private PackageManager pm;
    private ApplicationInfo appInfo;
    private Drawable appIcon;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        mainLayout=(LinearLayout) findViewById(R.id.mainLayout);
 
        appNameTv=new TextView(this);
        mainLayout.addView(appNameTv, llp);
 
        appIconIv=new ImageView(this);
        mainLayout.addView(appIconIv, llp);
 
        pm=getPackageManager();
        try {
            appInfo=pm.getApplicationInfo("system", PackageManager.GET_META_DATA);
 
            appNameTv.setText(pm.getApplicationLabel(appInfo));
 
            appIcon=pm.getApplicationIcon(appInfo);
            appIconIv.setImageDrawable(appIcon);
 
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        }
    }
}

main.xml布局文件源码如下:

<?xml version="1.0" encoding="utf-8"?>
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/mainLayout"
    >


AndroidManifest.xml文件源码如下:

<?xml version="1.0" encoding="utf-8"?>
      package="com.plter.getsystemicon"
      android:versionCode="1"
      android:versionName="1.0">
   
 
   
                          android:label="@string/app_name">
           
               
               
           

       
 
   




更多相关文章

  1. Android Input子系统-含实例源码
  2. Android应用程序中应用图标和名字的设置
  3. Android静态图片人脸识别的完整demo(附完整源码)
  4. Android音频子系统源码分析之AudioTrack的使用
  5. 从源码的角度分析Handler
  6. Android 源码解析-AsyncTask
  7. Android各个版本的名称和更新

随机推荐

  1. Android中使用log4j
  2. 一个简单android的全选,单选demo
  3. Android(安卓)Home键监听
  4. Android(安卓)studio下载与安装
  5. Android(安卓)-- 设置textview文字居中或
  6. unity在android显示界面(UnityPlayerActiv
  7. 利用Handler定时更新Android(安卓)UI
  8. Android(安卓)最火框架XUtils之注解机制
  9. 三种方法使android 手机执行 二进制程序
  10. Android(安卓)Studio多渠道批量打包及代