Вот мой onResume
звонок в MainActivity
:Android Broadcast Receiver SharedPreferences пустой на 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);
}
}
Вот мой onResume
в классе, который простирается BroadcastReceiver
:
@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
на первый открытый, а не второй.
Есть ли способ убедиться, что я могу получить это в первом приложении? – locoboy
Вы знаете, где это поведение документировано? – locoboy
Это не документировано, а это мой личный опыт. – 7383