我正在使用以下代码在Facebook上分享链接.当用户在"共享"对话框界面上单击"取消"时,有时会调用onSuccess()回调方法而不是onCancel().并获得post id null.请帮我解决问题?
ShareButton btn;
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_share);
btn = (ShareButton) findViewById(R.id.btn_share);
btn.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.e("Tag","Successfully posted");
Log.e("Post id",result.getPostId());
}
@Override
public void onCancel() {
Log.e("Tag","Canceled by user");
}
@Override
public void onError(FacebookException error) {
Log.e("Tag",error.getLocalizedMessage());
}
});
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("My Custom URL"))
.setContentTitle("Test")
.build();
btn.setShareContent(content);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) …Run Code Online (Sandbox Code Playgroud) 我是android领域的新手.我正在使用以下代码从领域获取产品对象.
ProductModel prodObj = realm.where(ProductModel.class).equalTo("product_id","12").findFirst();
Run Code Online (Sandbox Code Playgroud)
如何创建prodObj的独立副本?我想更新一些不应该影响领域数据库的字段值.我不想用setter方法手动设置它,因为模型类包含太多字段.有没有简单的方法来创建prodObj的独立副本?
如何清除android中的默认域数据库?我尝试了下面的代码,但无法解析方法deleteRealmFile.
方法1:
try {
Realm.deleteRealmFile(context);
//Realm file has been deleted.
} catch (Exception ex){
ex.printStackTrace();
//No Realm file to remove.
}
Run Code Online (Sandbox Code Playgroud)
我试图删除使用配置.
方法2:
try {
Realm.deleteRealm(realm.getConfiguration());
//Realm file has been deleted.
} catch (Exception ex){
ex.printStackTrace();
//No Realm file to remove.
}
Run Code Online (Sandbox Code Playgroud)
但是给出了错误:
java.lang.IllegalStateException: It's not allowed to delete the file associated with an open Realm. Remember to close() all the instances of the Realm before deleting its file.
Run Code Online (Sandbox Code Playgroud)