Autore Topic: Intent restituisce null SDK Facebook  (Letto 217 volte)

Offline Darèios89

  • Utente junior
  • **
  • Post: 68
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
Intent restituisce null SDK Facebook
« il: 21 Giugno 2016, 16:49:53 CEST »
0
Ciao a tutti, sto utilizzando l'sdk facebook ed ho la necessità di portare il contenuto del mio profilo da un'activity ad un'altra, ho notato che nel Fragment dove ho implementato le funzionalità di facebook visualizzo correttamente il mio nome ma non riesco a passarlo al di fuori:

Questa è la sezione di codice del Fragment con le funzionalità di Facebook, dove stampo nel Log il mio nome e lo vedo, provo poi a creare un intent e inviare il tutto.

Codice: [Seleziona]
GraphRequest request = GraphRequest.newMeRequest(
                    accessToken,
                    new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject object, GraphResponse response) {

                            if (response != null) {
                                try {
                                    JSONObject data = response.getJSONObject();
                                    if (data.has("name")){
                                        nomeprofilo = data.getString("name");
                                        Log.e("Login Fragment:", nomeprofilo);
                                        Intent controller = new Intent(getActivity().getApplicationContext(), Controller.class);
                                        controller.putExtra("nome",nomeprofilo.toString());
                                        controller.putExtra("flag","userhome");

                                        // set profile image to imageview using Picasso or Native methods
                                    }
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                    });

            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,context");
            request.setParameters(parameters);
            request.executeAsync();

Qui invece provo a recuperare l'intent, si tratta di un'activity che uso come Controller per il pattern MVC, la parte in cui ho problemi è l'ultimo else if:

Codice: [Seleziona]
public class Controller extends AppCompatActivity {

    private String action=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_controller);


        Intent i= getIntent();
        action = i.getStringExtra("flag");


          if(action.equals("login")) { //primo accesso

              Intent login = new Intent(this, Login.class);
              startActivity(login);
              finish();
          }
           else  if (action.equals("userhome")) {
                  //in questo caso ho fatto il login dell'utente, vado allo home passando i parametri di facebook

                  //String token = this.getIntent().getStringExtra("token");

                  //  Bitmap bitmap = (Bitmap)this.getIntent().getParcelableExtra("image");

                  Intent homeuser = new Intent(getApplicationContext(), UserHome.class);
                  String saluto=i.getStringExtra("nome");
                  Log.e("Saluto Controller",saluto);
                  homeuser.putExtra("username",saluto);

                  startActivity(homeuser);

                  finish();
              }
          }
    }

Mi risulta un nullpointerException in quel log, come mai?

Codice: [Seleziona]
Caused by: java.lang.NullPointerException: println needs a message

Offline Carni

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    R3D5HA
  • Sistema operativo:
    Windows 10
Re:Intent restituisce null SDK Facebook
« Risposta #1 il: 21 Giugno 2016, 19:01:59 CEST »
0
L'unica cosa che mi viene in mente è questa: elimina il toString()
Da così
Codice (Java): [Seleziona]
controller.putExtra("nome",nomeprofilo.toString());A così:
Codice (Java): [Seleziona]
controller.putExtra("nome",nomeprofilo);

Offline Darèios89

  • Utente junior
  • **
  • Post: 68
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G2
Re:Intent restituisce null SDK Facebook
« Risposta #2 il: 22 Giugno 2016, 00:55:49 CEST »
0
Eh in verità ho inserito il toString() per sperimentare qualcosa di diverso quindi quello che tu suggerisci l'ho già provato purtroppo :(

Post unito: 22 Giugno 2016, 15:38:57 CEST
Errore mio, facevo casini da altre parti con gli intent XD
« Ultima modifica: 22 Giugno 2016, 15:38:57 CEST da Darèios89, Reason: Merged DoublePost »

Offline Carni

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    R3D5HA
  • Sistema operativo:
    Windows 10
Re:Intent restituisce null SDK Facebook
« Risposta #3 il: 23 Giugno 2016, 00:21:53 CEST »
0
Ahhh va bene.

Sent from my GT-I9300 using Tapatalk