i want to get package name of app that user is trying to unistall.. Im using following code :
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
Log.d("topActivity", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
Log.d("topActivity", "CURRENT Package ::" + componentInfo.getPackageName());
but it's giving packge name of current running activity. I want to get that particular app's package name. Anyone know please help me.
Create receiver for
<receiver android:name=".PackageReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED"/> <action android:name="android.intent.action.PACKAGE_CHANGED"/> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="package"/> </intent-filter> </receiver>
In OnReceive() get action by intent.getAction()
get package by intent.getData().getSchemeSpecificPart()
包名称在您从BroadcasReceiver获得的Intent中有,使用“ getData()”函数,其中有已安装/未安装的包的ComponentName
。
Firstly get ComponentName
in the way you are getting. After that get ApplicationInfo instance
PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo(componentName.getPackageName(), 0);
Now get package name as appInfo.packageName. check here
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.