如何从android中的包名获取应用程序名称?

时间:2016-04-13 06:51:14

标签: android

我正在开发一个应用程序,如果在设备中安装了任何应用程序,我必须使用应用程序名称更新到服务器,因为我必须从包名称中获取应用程序名称。

例如: - 从包中假设: - <com.example.Deals>来自此我必须只获得<Deals>。我怎么能这样做。

这是我使用广播接收器获取包名称的代码。

public class Receiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    String action = intent.getAction();
    if(action.equals("android.intent.action.PACKAGE_ADDED")){
        Logger.debug("DATA:"+intent.getData().toString());
    }
    if(action.equals("android.intent.action.PACKAGE_REMOVED")){
        Logger.debug("DATA:"+intent.getData().toString());
    }
    if(action.equals("android.intent.action.PACKAGE_REPLACED")){
        Logger.debug("DATA:"+intent.getData().toString());
    }
}

}

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码从包中获取应用程序名称

{{1}}

答案 1 :(得分:0)

检查以下代码

PackageManager packageManager = context.getPackageManager();
ApplicationInfo applicationInfo;
try {
    applicationInfo = packageManager.getApplicationInfo(packageName, 0);
} catch (final NameNotFoundException e) {}
final String title = (String)((applicationInfo != null) ? packageManager.getApplicationLabel(applicationInfo) : "???");

答案 2 :(得分:0)

 PackageManager packageManagers= getApplicationContext().getPackageManager();
        try {
            String appName = (String) packageManagers.getApplicationLabel(packageManagers.getApplicationInfo("com.example.packagename", PackageManager.GET_META_DATA));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

此处不要错过更改您的包名com.example.packagename