修改Handler 在 ondestroy时 remove全部消息,Context获取的Manager,改为Application Context持有,游戏列表增加开服信息
This commit is contained in:
@ -30,7 +30,7 @@ public class PackageUtils {
|
||||
* 根据路径,获取apk的包名
|
||||
*/
|
||||
public static String getPackageNameByPath(Context context, String path) {
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
PackageManager packageManager = context.getApplicationContext().getPackageManager();
|
||||
PackageInfo info = packageManager.getPackageArchiveInfo(path,
|
||||
PackageManager.GET_ACTIVITIES);
|
||||
if (info != null) {
|
||||
@ -45,7 +45,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static Object getMetaData(Context context, String packageName, String name) {
|
||||
try {
|
||||
Bundle metaDate = context.getPackageManager().getApplicationInfo(
|
||||
Bundle metaDate = context.getApplicationContext().getPackageManager().getApplicationInfo(
|
||||
packageName, PackageManager.GET_META_DATA).metaData;
|
||||
if (metaDate != null) {
|
||||
return metaDate.get(name);
|
||||
@ -61,7 +61,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static String getApkSignatureByPackageName(Context context, String packageName) {
|
||||
try {
|
||||
PackageInfo packageInfo = context.getPackageManager()
|
||||
PackageInfo packageInfo = context.getApplicationContext().getPackageManager()
|
||||
.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
|
||||
Signature[] signatures = packageInfo.signatures;
|
||||
return parseSignature(signatures[0].toByteArray())[0];
|
||||
@ -139,7 +139,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static long getInstalledTime(Context context, String packageName) {
|
||||
try {
|
||||
PackageInfo packageInfo = context.getPackageManager()
|
||||
PackageInfo packageInfo = context.getApplicationContext().getPackageManager()
|
||||
.getPackageInfo(packageName, 0);
|
||||
return packageInfo.firstInstallTime;
|
||||
} catch (NameNotFoundException e) {
|
||||
@ -171,7 +171,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static String getVersionName(Context context) {
|
||||
try {
|
||||
PackageInfo pkgInfo = context.getPackageManager().getPackageInfo(
|
||||
PackageInfo pkgInfo = context.getApplicationContext().getPackageManager().getPackageInfo(
|
||||
context.getPackageName(), 0);
|
||||
return pkgInfo.versionName;
|
||||
} catch (NameNotFoundException e) {
|
||||
@ -185,7 +185,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static String getVersionCode(Context context) {
|
||||
try {
|
||||
PackageInfo pkgInfo = context.getPackageManager().getPackageInfo(
|
||||
PackageInfo pkgInfo = context.getApplicationContext().getPackageManager().getPackageInfo(
|
||||
context.getPackageName(), 0);
|
||||
return String.valueOf(pkgInfo.versionCode);
|
||||
} catch (NameNotFoundException e) {
|
||||
@ -199,7 +199,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static String getVersionByPackage(Context context, String packageName) {
|
||||
try {
|
||||
return context.getPackageManager().getPackageInfo(packageName,
|
||||
return context.getApplicationContext().getPackageManager().getPackageInfo(packageName,
|
||||
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT).versionName;
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
@ -212,7 +212,7 @@ public class PackageUtils {
|
||||
*/
|
||||
public static ArrayList<String> getAllPackageName(Context context) {
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
List<PackageInfo> packageInfos = context.getPackageManager().getInstalledPackages(0);
|
||||
List<PackageInfo> packageInfos = context.getApplicationContext().getPackageManager().getInstalledPackages(0);
|
||||
for (PackageInfo packageInfo : packageInfos) {
|
||||
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
|
||||
if (!context.getPackageName().equals(packageInfo.packageName)) {
|
||||
@ -229,7 +229,7 @@ public class PackageUtils {
|
||||
public static void launchApplicationByPackageName(Context context,
|
||||
String packageName) {
|
||||
try {
|
||||
Intent intent = context.getPackageManager().getLaunchIntentForPackage(
|
||||
Intent intent = context.getApplicationContext().getPackageManager().getLaunchIntentForPackage(
|
||||
packageName);
|
||||
if (intent != null) {
|
||||
context.startActivity(intent);
|
||||
@ -248,7 +248,7 @@ public class PackageUtils {
|
||||
public static String getNameByPackageName(Context context,
|
||||
String packageName) {
|
||||
try {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
PackageManager pm = context.getApplicationContext().getPackageManager();
|
||||
ApplicationInfo applicationInfo = pm.getApplicationInfo(
|
||||
packageName, 0);
|
||||
return applicationInfo.loadLabel(pm).toString();
|
||||
@ -262,7 +262,7 @@ public class PackageUtils {
|
||||
* 根据包名,判断是否已安装该游戏
|
||||
*/
|
||||
public static boolean isInstalled(Context context, String packageName) {
|
||||
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
|
||||
Intent intent = context.getApplicationContext().getPackageManager().getLaunchIntentForPackage(packageName);
|
||||
return intent != null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user