问题
I use this code as a BroadcastReceiver , but it says that
MODE_PRIVATE cannot be resolved to a variable broadcastreceiver
public class anyNewService extends BroadcastReceiver {
String uid,text;
int c=1;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
SharedPreferences settings =getSharedPreferences("CASPreferences", MODE_PRIVATE);
uid = settings.getString("uid", "");
anyNewCheker();
}
public void anyNewCheker()
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/cas/users/anynew.php");
try
{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("uid", uid));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
InputStream is = response.getEntity().getContent();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(20);
int current = 0;
while((current = bis.read()) != -1){
baf.append((byte)current);
}
/* Convert the Bytes read to a String. */
text = new String(baf.toByteArray());
Log.e("text",text);
if(!text.equals("0"))
{
}
}
catch (ClientProtocolException e) {
// TODO Auto-generated catch block
Log.e("error","err 1");
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("error","err 2");
}
}
}
what should I do? thank you
回答1:
context.getSharedPreferences("CASPreferences", Context.MODE_PRIVATE);
MODE_PRIVATE works directly in an Activity as an Activity inherits from Context. A broadcast receiver does not.
来源:https://stackoverflow.com/questions/7382007/mode-private-in-sharedpreferences-error