检查应用是否安装
使用 PackageManager 类来获取所有安装的应用程序包名:
import android.content.pm.PackageManager;
import android.app.Activity;
import android.os.IBinder;
public class CheckInstalledApp {
public static boolean isAppInstalled(Activity activity, String packageName) {
return activity.getPackageManager().getPackageInfo(packageName, PackageManager.GET_SIGNATURES) != null;
}
}
检查应用版本号
获取应用程序的版本号,可以使用 PackageManager 类的 getPackageInfo 方法:
import android.content.pm.PackageManager;
import android.app.Activity;
public class CheckVersion {
public static String getVersion(Activity activity, String packageName) {
try {
PackageInfo packageInfo = activity.getPackageManager().getPackageInfo(packageName, PackageManager.GET_VERSION_NAME);
return packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
return "未安装";
}
}
}
检查设备信息
获取设备的基本信息(如型号、品牌、系统版本等):
import android.os.Build;
import android.os.Locale;
public class GetDeviceInfo {
public static String getModel() {
return Build.MODEL;
}
public static String getBrand() {
return Build.BRAND;
}
public static String getSystemVersion() {
return Build.VERSION;
}
public static String getLocale() {
return Locale.US.toString();
}
}
检查功能是否可用
检查某些功能是否可用(如网络权限、相册权限等),可以通过 Context 的 checkSelfPermission 方法:
import android.Manifest;
import android.content.Context;
public class CheckPermission {
public static boolean hasPermission(Context context, String permission) {
return context.checkSelfPermission(Manifest.permission, permission) == PackageManager.PERMISSION_GRANTED;
}
}
检查网络状态
检查网络连接状态:
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class CheckNetwork {
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.NETWORK_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
return info != null && info.isConnected();
}
}
检查网络权限
检查应用是否有访问网络的权限:
import android.Manifest;
import android.content.Context;
public class CheckNetworkPermission {
public static boolean hasNetworkPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.INTERNET) == PackageManager.PERMISSION_GRANTED;
}
}
检查存储权限
检查应用是否有访问存储空间的权限:
import android.Manifest;
import android.content.Context;
public class CheckStoragePermission {
public static boolean hasStoragePermission(Context context) {
return context.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
}
}
检查摄像头权限
检查应用是否有访问摄像头的权限:
import android.Manifest;
import android.content.Context;
public class CheckCameraPermission {
public static boolean hasCameraPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
}
}
检查GPS权限
检查应用是否有访问GPS的权限:
import android.Manifest;
import android.content.Context;
public class CheckGPSPermission {
public static boolean hasGPSPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED;
}
}
检查共享文件夹权限
检查应用是否有访问共享文件夹的权限:
import android.Manifest;
import android.content.Context;
public class CheckShareFilePermission {
public static boolean hasShareFilePermission(Context context) {
return context.checkSelfPermission(Manifest.permission.ACCESS_SHARED_FILES) == PackageManager.PERMISSION_GRANTED;
}
}
检查输入权限
检查应用是否有访问输入的权限:
import android.Manifest;
import android.content.Context;
public class CheckInputPermission {
public static boolean hasInputPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.INPUT) == PackageManager.PERMISSION_GRANTED;
}
}
检查下载管理权限
检查应用是否有下载管理权限:
import android.Manifest;
import android.content.Context;
public class CheckDownloadPermission {
public static boolean hasDownloadPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.DOWNLOAD_MGMT) == PackageManager.PERMISSION_GRANTED;
}
}
检查日志权限
检查应用是否有访问日志的权限:
import android.Manifest;
import android.content.Context;
public class CheckLogPermission {
public static boolean hasLogPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.WRITE_LOGS) == PackageManager.PERMISSION_GRANTED;
}
}
检查设置权限
检查应用是否有访问设置的权限:
import android.Manifest;
import android.content.Context;
public class CheckSettingPermission {
public static boolean hasSettingPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.WRITE_SETTINGS) == PackageManager.PERMISSION_GRANTED;
}
}
检查通知权限
检查应用是否有发送通知的权限:
import android.Manifest;
import android.content.Context;
public class CheckNotificationPermission {
public static boolean hasNotificationPermission(Context context) {
return context.checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED;
}
}
检查用户权限(如果应用已签名)
检查用户是否赋予了特定权限:
import android.Manifest;
import android.content.Context;
public class CheckUserPermission {
public static boolean hasUserPermission(Context context, String permission) {
return context.checkSelfPermission(Manifest.permission, permission) == PackageManager.PERMISSION_GRANTED;
}
}
检查权限是否需要请求
检查某个权限是否需要用户手动授予:
import android.Manifest;
import android.content.Context;
public class CheckPermissionStatus {
public static boolean isPermissionRequestNeeded(Context context, String permission) {
return context.checkSelfPermission(Manifest.permission, permission) == PackageManager.PERMISSION_DENIED;
}
}
检查是否有更新
检查应用是否有更新:
import android.content.pm.PackageManager;
import android.app.Activity;
public class CheckUpdate {
public static void checkUpdate(Activity activity, String packageName) {
try {
PackageInfo packageInfo = activity.getPackageManager().getPackageInfo(packageName, PackageManager.GET_ALL);
int version = packageInfo.getVersion();
// 比较版本号,判断是否有更新
if (version != BuildConfig.VERSION_CODE) {
// 提示用户更新
AlertDialog.Builder dialog = new AlertDialog.Builder(activity);
dialog.setTitle("更新");
dialog.setMessage("新版本" + packageInfo.getVersionName() + "已发布");
dialog.setPositiveButton("更新", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 跳转到应用商店或下载页面
Uri uri = Uri.parse("market://details/" + packageName);
activity.startActivity(uri);
}
});
dialog.show();
}
} catch (PackageManager.NameNotFoundException e) {
// 应用未安装
}
}
}
检查设备是否-rooted
检查设备是否被根权限访问过:
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.ServiceManager;
public class CheckRooted {
public static boolean isRooted() {
return Build.VERSION.SDK >= Build.VERSION_CODES_ROOT;
}
}
检查是否有设备ID(设备序列号)
获取设备的序列号(IMEI):
import android.telephony.Telephony;
public class GetIMEI {
public static String getIMEI(Activity activity) {
return Telephony.getImei(activity);
}
}
检查是否有SIM卡
检查设备是否插入了SIM卡:
import android.telephony.Telephony;
public class CheckSIM {
public static boolean isSIMCardInserted() {
return Telephony.SIM_STATE_ENABLED.equals(Telephony.getSIMState());
}
}
检查是否有外置存储(如SD卡)
检查外置存储是否存在:
import android.os.Environment;
public class CheckExternalStorage {
public static boolean isExternalStoragePresent() {
return Environment.getExternalStorageDirectory() != null && Environment.getExternalStorageDirectory().is mounts();
}
}
检查是否有蜂窝数据权限
检查蜂窝数据是否可用:
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class CheckCellularData {
public static boolean isCell








