它们似乎都将 cookie 锁定到域,但它们不兼容(因为使用 __Host 前缀需要不设置域)。
我还没有找到一个好的论据,哪一个是更好的方法。我意识到使用 Domain 属性有一些功能,例如允许子域使用 cookie,这似乎是人们在 __Host 上使用它的唯一原因。
但是,在所有条件相同的情况下,假设没有子域,您能解释为什么一个域会比另一个域更好吗?
我有这个代码工作正常(因为它正确地创建了相册).但是,它会创建两个相同的专辑.我已经尝试删除消息和隐私(不是这应该改变任何东西,但仍然).我没有尝试改变这个代码创建两个专辑的事实.我甚至已经评论它以确保它是唯一的代码触发并且没有创建专辑.我在此之后有代码发布两张测试图片,它只将图片发布到其中一组.但是,我在这段代码后面有一个退出,所以我确保它是唯一的代码触发器.
请帮忙!
print "Creating album\n";
try {
$ret_obj = $facebook->api('/me/albums', 'post', array(
'access_code' => $access_code,
'name' => 'Coolest Album',
'message' => 'Coolest Album containing bike stuff',
'privacy' => array('value'=>'EVERYONE'),
));
} catch (Exception $e) {
print_r($e->getMessage());
}
print "Album created\n";`
Run Code Online (Sandbox Code Playgroud) 我拥有在<api 23中可用的继承代码。由于暴露的文件安全性问题,我不得不对其进行升级以与最新的api一起使用,并且它使我现在必须使用FileProvider。没什么 但是,现在相机不起作用(并且不一定是由于FileProvider所致,由于升级了api,它恰好在需要使用FileProvider的同时停止了工作)
该代码死于MediaStore.ACTION_IMAGE_CAPTURE意图的创建意图调用,并显示以下错误:
android.content.ActivityNotFoundException:未找到处理意图的活动{act = android.media.action.IMAGE_CAPTURE dat = content://com.company.appname/external_files/temp.jpg flg = 0x1}
我已经做了很多搜索,但是每个人(尤其是到目前为止的stackoverflow)似乎都认为添加代码来检查是否存在相机可以解决此问题,但事实并非如此。如果未检测到相机,则只是不运行代码的检查。我用来测试的所有设备都有相机。我已经在Android模拟器上进行了调试(并通过使用默认照相机应用程序对自己的照片进行拍照,验证了模拟照相机已连接到笔记本电脑照相机)以及具有前置和后置照相机的手机,两者均能正常工作。因此,请没有解决该问题的答案。我知道我有相机,不需要检查。我需要帮助来确定为什么我的代码没有找到MediaStore.ACTION_IMAGE_CAPTURE的意图。
AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
Run Code Online (Sandbox Code Playgroud)
和
<provider
android:name=".Providers.GenericFileProvider"
android:authorities="com.company.myapp"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
Run Code Online (Sandbox Code Playgroud)
provider_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
File f = new File(Environment.getExternalStorageDirectory(), "temp.jpg");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE,
FileProvider.getUriForFile(MainActivity.this, AUTHORITY, f));
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivityForResult(intent, REQUEST_CAMERA);
Run Code Online (Sandbox Code Playgroud)
启动活动时,代码在最后一行抛出异常。因为这是继承的代码,所以我很想废弃它们用于相机捕获并重新开始的内容,但是在将其升级为> api 23之前,这些代码曾经可以工作。
只是为了方便起见,升级之前的上一个电话看起来像
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
Run Code Online (Sandbox Code Playgroud)
但这不再起作用(由于暴露了文件uri而被api阻止了)
有谁发现如何使这项工作?
风格笔记
为了简洁起见,我编辑了代码,生产代码中包含异常处理。