Erreur sur l'ID d'application de l'application facebook dans Manifest
Ici est un petit détail à propos de mon application. J'ai un onglet mise en page à l'aide de Fragments
et un ViewPager
. Sur le troisième onglet, j'ai une Carte Google map V2. Maintenant, chaque fois que l'utilisateur de l'application serait dans un certain point de repère, il peut partager les détails au sujet de ce point de repère sur facebook. J'ai réussi à créé la carte, mais les détails sur les points de repère sont encore à faire. Maintenant, à propos de la fonction "partager" de facebook, j'ai suivi la procédure sur facebook développeurs. Quand je lance l'application, j'obtiens l'erreur:
10-17 14:19:06.856: E/AndroidRuntime(2180): java.lang.NullPointerException: Argument 'applicationId' cannot be null
Et après recherche, j'ai trouvé que j'ai besoin de mettre l'ID de l'application sur le manifest.xml
.
Voici ma méta-données:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="the key from google api console"
/>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="the key from fb devs"
/>
Cependant, j'ai toujours l'erreur:
10-17 14:44:03.076: E/AndroidRuntime(2240): java.lang.NullPointerException: Argument 'applicationId' cannot be null
L'ensemble de l'facebook partager dialogue est situé dans un Fragment
.
Ici, il est:
TabFour.java
public class TabFour extends Fragment {
private UiLifecycleHelper uiHelper;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_tab_four, container, false);
return rootView;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
uiHelper = new UiLifecycleHelper(getActivity(), callback);
uiHelper.onCreate(savedInstanceState);
OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setProperty("book", "https://example.com/book/Snow-Crash.html");
@SuppressWarnings("deprecation")
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(getActivity(), action, "books.reads", "book")
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback() {
@Override
public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data) {
Log.e("Activity", String.format("Error: %s", error.toString()));
}
@Override
public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data) {
Log.i("Activity", "Success!");
}
});
}
@Override
public void onResume() {
super.onResume();
uiHelper.onResume();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
uiHelper.onSaveInstanceState(outState);
}
@Override
public void onPause() {
super.onPause();
uiHelper.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
uiHelper.onDestroy();
}
private Session.StatusCallback callback = new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
//TODO Auto-generated method stub
}
};
}
Voici mon logcat.
source d'informationauteur Jeongbebs
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas mettre l'appID directement dans le manifeste lui-même, vous avez besoin de faire référence à une ressource de chaîne dans le manifeste. Quelque chose comme:
Dans votre AndroidManifest:
Dans votre strings.xml
Il est important de garder à l'esprit que vous devez coller le méta-données de l'élément à l'INTÉRIEUR de L'APPLICATION des BALISES.
De cette façon:
Si vous le coller quelque part d'autre, vous reçois cette erreur.
Ne devrait pas plutôt être:
Noter le changement à partir d'android:android:ressources.