实现安卓中类似“重置应用偏好设置”的功能(清除原有打开方式),具体代码如下:
private void resetApp() {
try {
final IPackageManager pm = AppGlobals.getPackageManager();
int flags = 0;
ParceledListSlice<PackageInfo> piS = pm.getInstalledPackages(flags, UserHandle.myUserId());
List<PackageInfo> piList = piS.getList();
for (PackageInfo pi : piList) {
pm.clearPackagePreferredActivities(pi.packageName);
}
} catch (RemoteException e) {
throw new RuntimeException(e);
}
}