title: Android app Twitter Login failed(not show webView login screen) if twitter app not installed
body: <p><strong>Edit 1</strong>
  I know this question is already asked but no one is answered stacktrace also not added into it so I asked again. <br><br>
  If I install twitter app ant try to login then app will successfully login with twitter but if I un-install twitter app from mobile and then try to login into app then I received below error and failed to get login with twitter</p>
  
  <p><strong>Failed to get request token</strong>
  <br>I didn't seen any webView. after click on login with twitter button.</p>
  
  <p>below is stack trace which I received</p>
  
  <p>E/Twitter: Invalid json: Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings
      com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
          at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
          at com.twitter.sdk.android.core.models.SafeListAdapter$1.read(SafeListAdapter.java:45)
          at com.twitter.sdk.android.core.models.SafeMapAdapter$1.read(SafeMapAdapter.java:45)
          at com.google.gson.Gson.fromJson(Gson.java:887)
          at com.google.gson.Gson.fromJson(Gson.java:852)
          at com.google.gson.Gson.fromJson(Gson.java:801)
          at com.google.gson.Gson.fromJson(Gson.java:773)
          at com.twitter.sdk.android.core.TwitterApiException.parseApiError(TwitterApiException.java:110)
          at com.twitter.sdk.android.core.TwitterApiException.readApiError(TwitterApiException.java:95)
          at com.twitter.sdk.android.core.TwitterApiException.(TwitterApiException.java:43)
          at com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42)
          at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
          at android.os.Handler.handleCallback(Handler.java:789)
          at android.os.Handler.dispatchMessage(Handler.java:98)
          at android.os.Looper.loop(Looper.java:172)
          at android.app.ActivityThread.main(ActivityThread.java:6637)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
       Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
          at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
          at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
          at com.twitter.sdk.android.core.models.SafeListAdapter$1.read(SafeListAdapter.java:45) 
          at com.twitter.sdk.android.core.models.SafeMapAdapter$1.read(SafeMapAdapter.java:45) 
          at com.google.gson.Gson.fromJson(Gson.java:887) 
          at com.google.gson.Gson.fromJson(Gson.java:852) 
          at com.google.gson.Gson.fromJson(Gson.java:801) 
          at com.google.gson.Gson.fromJson(Gson.java:773) 
          at com.twitter.sdk.android.core.TwitterApiException.parseApiError(TwitterApiException.java:110) 
          at com.twitter.sdk.android.core.TwitterApiException.readApiError(TwitterApiException.java:95) 
          at com.twitter.sdk.android.core.TwitterApiException.(TwitterApiException.java:43) 
          at com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42) 
          at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70) 
          at android.os.Handler.handleCallback(Handler.java:789) 
          at android.os.Handler.dispatchMessage(Handler.java:98) 
          at android.os.Looper.loop(Looper.java:172) 
          at android.app.ActivityThread.main(ActivityThread.java:6637) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) </p>
  
  <p>E/Twitter: Failed to get request token
      com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 403
          at com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42)
          at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
          at android.os.Handler.handleCallback(Handler.java:789)
          at android.os.Handler.dispatchMessage(Handler.java:98)
          at android.os.Looper.loop(Looper.java:172)
          at android.app.ActivityThread.main(ActivityThread.java:6637)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)</p>
  
  <p>E/Twitter: Authorization completed with an error
      com.twitter.sdk.android.core.TwitterAuthException: Failed to get request token
          at com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:94)
          at com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:191)
          at com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42)
          at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
          at android.os.Handler.handleCallback(Handler.java:789)
          at android.os.Handler.dispatchMessage(Handler.java:98)
          at android.os.Looper.loop(Looper.java:172)
          at android.app.ActivityThread.main(ActivityThread.java:6637)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)</p>