我正在开发一个应用程序,如果在设备中安装了任何应用程序,我必须使用应用程序名称更新到服务器,因为我必须从包名称中获取应用程序名称。
例如: - 从包中假设: - <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());
}
}
}
答案 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