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. Ubuntu下android源码下载与编译
  2. Android高手进阶教程(九)之----Android(安卓)Handler的使用!!!
  3. Android(安卓)Input子系统-含实例源码
  4. Android应用程序中应用图标和名字的设置
  5. android 屏幕旋转 重新调用onCreate
  6. Android静态图片人脸识别的完整demo(附完整源码)
  7. Android中调用C++函数的一个简单Demo
  8. Android绘图基础
  9. Android(安卓)Service生命周期及用法!

随机推荐

  1. Android(安卓)studio 一直卡在Gradle:Bui
  2. android SharedPreferences 记录数据
  3. Android(安卓)ApiDemos示例解析
  4. Android官方下拉刷新控件 SwipeRefreshLa
  5. Android(安卓)开发第四天
  6. Firebase Crashlytics Sdk接入流程(Androi
  7. Android(安卓)在低版本sdk中没有getSuppo
  8. Android—网络编程
  9. RichTextUtil Android(安卓)文字高亮可点
  10. android使用豆瓣API出现500错误及解决方