在编码时遇到问题。
new AlertDialog.Builder(this)
这有错误,请帮我一看。
import java.io.File;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
public static boolean isPhoneRooted() {
// get from build info
String buildTags = android.os.Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")) {
return true;
}
// check if /system/app/Superuser.apk is present
try {
File file = new File("/system/app/Superuser.apk");
if (file.exists()) {
new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_launcher)
.setTitle("[" + file.getName() + "] folder can't be read!")
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).show();
}
} catch (Throwable e1) {
// ignore
}
return false;
}
}
答案 0 :(得分:1)
下面:
public static boolean isPhoneRooted() {
...
new AlertDialog.Builder(this)
....
}
明确不允许。
由于该方法是class方法而不是instance方法,此实际上并不存在(因为this
是实际的实例一件事。)
这是真正的基本内容,您应该阅读它。 Here's比较两者的链接。
答案 1 :(得分:0)
将public static boolean isPhoneRooted()
更改为public static boolean isPhoneRooted(Context context)
,并使用this
关键字将该代码替换为方法的context
参数。并将isPhoneRooted();
方法称为isPhoneRooted(this);