1

I am developing an app in which if any app is installed in device I have to update to server with app name for that I have to get Application name from package name.

for example :- from package let suppose :- <com.example.Deals> from this I have to get only <Deals>. How can I do that.

here is my code from which I got package name using Broadcast receiver.

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());
    }
}

}

Mr Lister
  • 45,515
  • 15
  • 108
  • 150
Raghvender Kumar
  • 143
  • 3
  • 11

3 Answers3

6

You can get Application name from package using following code

final PackageManager pm = getApplicationContext().getPackageManager();
ApplicationInfo ai;
try {
    ai = pm.getApplicationInfo( "your_package_name", 0);
} catch (final NameNotFoundException e) {
    ai = null;
}
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
Adnan Amjad
  • 2,553
  • 1
  • 20
  • 29
1
 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();
        }

Here dont miss to change your package name com.example.packagename

Dhaval Solanki
  • 4,589
  • 1
  • 23
  • 39
0

check following code

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) : "???");
mdDroid
  • 3,135
  • 2
  • 22
  • 34