您将需要传递一个上下文,即使ContentResolver该类也需要一个有效的上下文才能被实例化。
最简单的方法是作为方法的参数:
public void test(Context context) throws Exception {
Uri uri = SuspiciousActivityTable.CONTENT_URI;
context.getContentResolver().update(uri, values2, where,new String[]{"Null"});
}
并调用:(假设包含的类test已实例化并且您的 Activity 的名称是MyActivity<- 替换为Activity您调用test() 的名称)
try{
sendInformationInstanceVariable.test (MyActivity.this);
}
catch (Exception e)
{
e.printStackTrace();
}
MyActivity.this可以缩短为仅this 当您不是test()从匿名内部类内部调用时。
此外,如果您的类确实没有充分的理由实例化,请考虑创建test()一个static方法,如下所示:
public static void test(Context context) throws Exception {
Uri uri = SuspiciousActivityTable.CONTENT_URI;
context.getContentResolver().update(uri, values2, where,new String[]{"Null"});
}
然后从您的Activity,您无需实例即可调用此方法:
try{
sendInformation.test (MyActivity.this);
}
catch (Exception e)
{
e.printStackTrace();
}
最后,投掷Exception是不好的做法,不要没有充分的理由这样做,如果你有充分的理由,请尽可能具体。