Приложение запускается при запуске с телефона, но отлично работает при запуске с компьютера

Через 3 дня я смог выполнить старое приложение на своем устройстве! Но только когда команда приходит с моего компьютера …

Я объясняю. Когда я запускаю приложение из Android Studio на свой телефон, он запускается отлично, и это здорово. Но когда я запускаю его непосредственно с моего телефона, я попадаю в Catlog, что String имеет значение NULL. Я не понимаю, что может вызвать это. Он отлично работает, когда приложение запускается с моего компьютера, но не с телефона …

Пожалуйста помоги!

Редактировать 1 : Добавить действия AndroidManifest.xml

<activity android:name=".LoginActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".ManageAccountActivity"/> <activity android:name=".RegionListActivity"/> <activity android:name=".ClubListActivity"/> <activity android:name=".SearchActivity"/> <activity android:name=".TeetimesListActivity"/> <activity android:name=".ConfirmationActivity"/> <activity android:name=".TermsAndConditionsActivity"/> <activity android:name=".TabletSearchActivity"/> <activity android:name=".TabletConfirmationActivity"/> <activity android:name=".PreferencesActivity"/> 

Редактировать 2 : Журнал ошибок

 01-08 16:08:47.194 26704-26704/ca.gggolf.aminutegolf E/ACRA: ACRA caught a RuntimeException for ca.gggolf.aminutegolf java.lang.RuntimeException: Unable to start activity ComponentInfo{ca.gggolf.aminutegolf/ca.gggolf.aminutegolf.LoginActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) at android.app.ActivityThread.access$800(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference at ca.gggolf.aminutegolf.LoginActivity.checkForNewBooking(LoginActivity.java:676) at ca.gggolf.aminutegolf.LoginActivity.onCreate(LoginActivity.java:112) at android.app.Activity.performCreate(Activity.java:6010) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) at android.app.ActivityThread.access$800(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 

Редактировать 3 : Добавить часть кода, содержащую ошибки

 private void checkForNewBooking() { Bundle extras = getIntent().getExtras(); if (extras != null) { final String numConfirmation = extras.getString("NEWLY_BOOKED"); final String date[] = extras.getString("BOOKING_DATE").split("-"); //line 676 final String time[] = extras.getString("BOOKING_TIME").split(":"); final String club = extras.getString("BOOKING_CLUB"); final int hole = Integer.parseInt(extras.getString("BOOKING_HOLE")); 

Изменить 4 : Больше кода. Вот метод onCreate (). Оттуда вызывается метод checkForNewBooking ().

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); Log.d(TAG, "onCreate()"); mController = new ActivityController(this); // Setting server mode ((Globals) getApplication()).setServerInformation(SharedPrefManager.getServer(this)); // Hide auto-triggered keyboard this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); if (SharedPrefManager.isFirstRun(LoginActivity.this)) { SharedPrefManager.setFirstTimePrefs(LoginActivity.this, Utility.retreiveLanguage()); Log.d(TAG, "First run triggered."); } Bundle mBundle = getIntent().getExtras(); if (mBundle != null) { if (mBundle.getBoolean("PROCESS_KILLED")) { Toast.makeText(LoginActivity.this, R.string.ui_error_killedprocess, Toast.LENGTH_LONG).show(); } else { checkForNewBooking(); } } initializeUI(); WrappedLogger.setProvider(new LoggingProvider()); WrappedLogger.setMemoryLog(false); IPAddressInformation.getInstance().getIPAddress(); } 

Таким образом, это не полный супервысокий ответ, но я смог исправить эту ошибку, просто изменив первый оператор if в checkForNewBooking (). Теперь это:

 if(extras.getString("BOOKING_DATE") != null) 

вместо

 if(extras != null) 

Я серьезно не знаю, почему программа началась с этого. Класс, который я разместил, является основным, начиная с самого начала, и поэтому информация не поступает оттуда. Согласно комментариям, который переместил меня передо мной, этот метод предназначен для проверки того, завершено ли бронирование в прошлом, а это значит, что информация, необходимая для BOOKING_DATE и BOOKING_TIME, поступает из другого метода после завершения бронирования.

Во всяком случае, он работает сейчас! Спасибо всем за помощь!