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

来源:互联网 发布:知乐胶囊的作用与功效 编辑:程序博客网 时间:2024/05/15 23:46

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

 

发表于 2011 年 11 月 3 日

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

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

效果图如下:

主程序源码如下:

Source code   
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布局文件源码如下:

Source code   
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/mainLayout"    ></LinearLayout>

AndroidManifest.xml文件源码如下:

Source code   
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.plter.getsystemicon"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="8" />     <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".P0001_GetSystemIconActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>     </application></manifest>

 

原创粉丝点击