不兼容的类型。必需:android.content.Context找到:java.lang.String

时间:2019-06-07 00:19:03

标签: java android android-studio

我需要使用Secure.getString()获取设备ID

我正在使用上下文

 public static String getDeviceId(Context context) {
        String currentDeviceId = SharedPreferencesUtil.getCurrentDeviceId();
        if (currentDeviceId == null) {
            context = Secure.getString(context.getContentResolver(), "android_id");
            if (context == null || context.trim().isEmpty() || "9774d56d682e549c".equalsIgnoreCase(context)) {
                context = Build.SERIAL;
                if (context == null || context.trim().isEmpty() != null) {
                    context = UUID.randomUUID().toString();
                } else {
                    context = Build.SERIAL;
                }
            }
            if ("unknown".equals(context)) {
                context = Build.SERIAL;
                if (context == null || context.trim().isEmpty() != null) {
                    context = UUID.randomUUID().toString();
                } else {
                    context = Build.SERIAL;
                }
            }
            secondDeviceId = context;

此行显示以下错误

context = Secure.getString(context.getContentResolver(), "android_id");
  

不兼容的类型。   需要:   android.content.Context   发现:   java.lang.String

1 个答案:

答案 0 :(得分:0)

根据@vlumi注释和调试,我发现以下代码可以解决此问题。 现在已修复,只需用字符串替换上下文即可。

rekey = {t['target']: t for t in temp}