यहां मेरे ऐप के बारे में थोड़ी सी जानकारी दी गई है। मेरे पास Fragments
और ViewPager
का उपयोग करके एक टैब लेआउट है। तीसरे टैब पर, मेरे पास Google मानचित्र V2 है। अब, जब भी ऐप का उपयोगकर्ता एक निश्चित स्थलचिह्न में होगा, तो वह फेसबुक पर उस लैंडमार्क के बारे में विवरण साझा कर सकता है। मैंने नक्शा सफलतापूर्वक बनाया है, लेकिन स्थलों के बारे में विवरण अभी तक किया जाना बाकी है। अब फेसबुक के "शेयर" फ़ंक्शन के बारे में, मैंने facebook developers पर दिए गए चरणों का पालन किया है। जब मैं अनुप्रयोग चलाने, मैं त्रुटि मिलती है:मैनिफेस्ट में फेसबुक ऐप की एप्लिकेशन आईडी पर त्रुटि
10-17 14:19:06.856: E/AndroidRuntime(2180): java.lang.NullPointerException: Argument 'applicationId' cannot be null
और खोज करने के बाद, मुझे पता चला कि मैं manifest.xml
पर आवेदन आईडी डाल की जरूरत है।
10-17 14:44:03.076: E/AndroidRuntime(2240): java.lang.NullPointerException: Argument 'applicationId' cannot be null
पूरे फेसबुक शेयर संवाद एक Fragment
में स्थित है:
<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"
/>
हालांकि, मैं अब भी त्रुटि मिलती है:
यहाँ मेरी मेटा डेटा है।
संदेश यह है:
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
}
};
}
यहाँ है मेरी logcat.
मैं स्टीव की टिप्पणी पर जोर देना चाहता हूं। आपने मुझे एक समस्या स्टीव के घास के ढेर में एक सुई बचाई। धन्यवाद – kuruppsify