我对Facebook Android SDK 4.0有一个奇怪的问题。我添加了所有权限,API_KEY和Hashkeys双重检查它们没问题。但我不能在我的Real Device上使用ShareDialog,这是API 15和GenyMotion 4.4.4,4.4.2。
当我尝试打开ShareDialog时,它显示没有我的内容。它在我的真实设备上打开。但它完全适用于GenyMotion 4.2.1,我试图打开GenyMotion 4.4.4和4.4.2,但这些模拟器不会打开Facebook App。他们将我重定向到Web视图。当我在webview上输入我的信息时,我可以看到我的所有内容,所以它再次起作用。
怎么可能?我的真实设备没有发布任何东西,但GenyMotion 4.2.1确实可以正常工作?有什么问题?
这是我的AndroidManifest.xml;
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SET_DEBUG_APP"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".GlobalState"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.vet" >
<provider android:authorities="com.facebook.app.FacebookContentProvider351533225052233"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/API_KEY" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
这是我的Application类;
@Override
public void onCreate() {
super.onCreate();
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
Parse.initialize(this, "KEY", "KEY");
FacebookSdk.sdkInitialize(getApplicationContext());
}
这是我的MainActivity.class;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
return inflater.inflate(R.layout.fragment_harita, container, false);
}
public void onViewCreated(View view, Bundle savedInstanceState){
setupMap();
//showGPSDisableAlert();
FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_share) {
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("vet !")
.setContentDescription(
"asd")
.setContentUrl(Uri.parse("https://facebook.com/vet"))
.build();
shareDialog.show(linkContent);}
请帮我解决这个问题。谢谢 !
抱歉我的英语不好。
答案 0 :(得分:1)
尝试在真实设备上更新您的Facebook应用,然后输入Log.i()消息从facebook api获取日志 还要尝试清空应用程序缓存并重新安装。 并行尝试从facebook SDK测试此示例应用程序 https://github.com/facebook/facebook-android-sdk/tree/master/samples/Scrumptious