您将需要传递一个上下文,即使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
是不好的做法,不要没有充分的理由这样做,如果你有充分的理由,请尽可能具体。