【发布时间】:2015-06-17 00:48:36
【问题描述】:
这是我在MainActivity 中的onResume 电话:
@Override
public void onResume() {
super.onResume();
SharedPreferences settings = context.getSharedPreferences(INSTALL_PREFERENCE, 0);
String referrerString = settings.getString(REFERRAL_KEY, null);
Map<String, String> params = new HashMap<~>();
if (referrerString != null){
params.put("referrer", referrerString);
}
}
这是我在扩展BroadcastReceiver 的类中的onResume:
@Override
public void onReceive(Context context, Intent intent){
try{
String referrerString = intent.getStringExtra("referrer");
if(null != referrerString){
String referrer = URLEncoder.encode(referrerString, "UTF-8");
context.getSharedPreferences(INSTALL_PREFERENCE, Context.MODE_PRIVATE).edit().putString(REFERRAL_KEY, referrer).commit();
}
}
catch (Exception e){
//don't handle exceptions for now
}
}
问题是当我通过打开应用程序调用MainActivity 时,我的应用程序在第一次打开时不会返回referrer。 SharedPreferences 不会在第一个打开的应用程序上存储我的referrer 是否有原因?我想在第一次打开而不是第二次时传回 referrer。
【问题讨论】: