我需要从已安装的特定包中检索针对接收器的意图过滤器的操作名称。我正在接收广播意图android.intent.action.PACKAGE_INSTALL
。
我得到了uuid
那个包。但是,我怎样才能获得为该包裹连接的接收器的详细信息?可能来自PackageManager
or PackageInfo
?
我需要从已安装的特定包中检索针对接收器的意图过滤器的操作名称。我正在接收广播意图android.intent.action.PACKAGE_INSTALL
。
我得到了uuid
那个包。但是,我怎样才能获得为该包裹连接的接收器的详细信息?可能来自PackageManager
or PackageInfo
?
如果要获取包信息,请在安装 apks 之后。那么你可以使用这个 -
<receiver android:name="PackageChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
现在在您的接收器中 -
@Override
public void onReceive(Context ctx, Intent intent) {
Log.d(TAG, "The Package Name is " + getPackageName(intent);
}
String getPackageName(Intent intent) {
Uri uri = intent.getData();
String pkg = uri != null ? uri.getSchemeSpecificPart() : null;
return pkg;
}