小编mom*_*omo的帖子

使用Cache Uri作为MediaStore.EXTRA_OUTPUT时,相机无法正常工作/保存

我试图从拍摄照片后获得完整的图像Fragment.

如果我使用文件(Uri.fromFile(file))中的Uri,拍摄照片并点击"确定"按钮后相机将不会退出(看起来无法写入Uri或谁知道什么).

使用File String,形式'/data/data/com.package.bla/cache/img198346262jpg',它不能正常工作(文件在那里,但它是空的,因为相机没有保存任何东西).

到目前为止我尝试了什么:

  • 创建文件后删除文件,如本例所示.但是,相机退出后文件不存在.
  • 添加外部存储READ权限,以防万一

所以我不知道为什么图像没有被保存,并且已经花费/浪费了大量时间测试并弄清楚它为什么不起作用.

分段:

private void launchCamera() {
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    File outputDir = getActivity().getCacheDir();
    File file = null;
    try {
        file = File.createTempFile("img", "jpg", outputDir);
    } catch (IOException e) {
        e.printStackTrace();
    }
    if (file != null) {
        mImageUri = Uri.fromFile(file);   //using Uri is not even exiting the camera
        //mImageUri = File.toString();    //If I use String instead of an Uri, it works better …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-camera

21
推荐指数
2
解决办法
1万
查看次数

iOS wifi扫描,信号强度

据我所知,不可能扫描范围内的热点并阅读它们的bssid和信号强度.这可以通过使用私有API在iOS 4上实现,而在没有越狱的iOS 5上则不再可能.即使有可能,该应用程序也会在App Store上被拒绝.是对的吗?

一家拥有室内定位系统的公司声称他们可以在iOS中开发这个系统.我知道他们正在扫描热点和信号强度,然后在他们当前的Android应用程序上对信号进行三角测量.

我有什么替代方案吗?他们声称听起来不可能,但我很乐意听到这里的人们.我想在他们演示时做好准备(虽然我期待越狱或某种模拟)

wifi ios ios5

9
推荐指数
1
解决办法
2万
查看次数

iOS相当于Android Fragments/Layouts

在Android中,您可以使用Fragments仅开发一个针对手机和桌面的应用,因此您可以拥有不同的UI.您甚至可以仅使用布局,并在代码上运行平板电脑或手机逻辑.

我需要为iPhone和iPad开发一个应用程序,我想知道是否有类似的东西用于实现不同的UI和轻微的不同行为.在我的情况下,iPhone应用程序将使用屏幕底部的选项卡,但iPad应该使用左侧的菜单.

iphone cocoa-touch ipad ios

6
推荐指数
1
解决办法
7418
查看次数

HTTP 415无法处理消息,因为内容类型为'application/json; charset = utf-8'不是预期的类型'text/xml; 字符集= UTF-8'

我们有一个可以在HTTPS上正常工作的web服务,但在HTTPS上显示HTTP 415错误.因此,在HTTP下,我们可以发出POST请求发送和接收JSON而不会出现问题.当我们在HTTPS下尝试相同时,我们得到了错误,即服务期望application/json的text/xml insteas.关于在哪里看的任何建议?

如果重要,服务器将使用自签名证书.

更新了绑定和行为

 <!-- Wcf Services Setting -->
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WsHttpBinding" maxReceivedMessageSize="1048576">
          <readerQuotas maxArrayLength="1048576" />
        </binding>
        <binding name="SecureWsHttpBinding" maxReceivedMessageSize="1048576">
          <readerQuotas maxArrayLength="1048576" />
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
      </wsHttpBinding>
      <webHttpBinding>
        <binding name="WebHttpBinding" maxReceivedMessageSize="1048576">
          <readerQuotas maxArrayLength="1048576" />
        </binding>
        <binding name="SecureWebHttpBinding" maxReceivedMessageSize="1048576">
          <readerQuotas maxArrayLength="1048576" />
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
          <binding name="webBinding">
              <security mode="Transport">
              </security>
          </binding>
      </webHttpBinding>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IMainService" maxReceivedMessageSize="1048576"></binding>
        <binding name="BasicHttpBinding" maxReceivedMessageSize="1048576">
          <readerQuotas maxArrayLength="1048576" />
            <security mode="None">
                <transport clientCredentialType="None" />
            </security>
        </binding>
        <binding …
Run Code Online (Sandbox Code Playgroud)

c# wcf

6
推荐指数
1
解决办法
4万
查看次数

将现有对象模型转换为Core Data托管对象模型

我正在开发一个iOS应用程序,并有几个对象模型.现在我想将它们转换为核心数据管理对象,因此从对象创建实体和属性,而不是从模型生成对象的标准相反方式.完成此任务的最佳方法是什么?

我尝试从而NSManagedObject不是延伸NSObject,然后手动创建实体和属性,并为实体设置类名,但这不起作用:-(

谢谢

model core-data nsmanagedobject ios

5
推荐指数
1
解决办法
2590
查看次数

这是Android Fragments和NavigationDrawer的正确用法吗?

虽然我多年来一直在使用Android,但这是我第一次Fragments在现实生活中使用它.所以我有点困惑:-P

这个应用程序有NavigationDrawer4个主要部分.我只使用一个Activity带有我替换Layout的内容的View主要部分Fragments.当选择了一个选项时NavigationDrawer,我实例化a Fragment并将其放入该内容中View.我正在做这样的事情:

    private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        selectItem(position);
    }
}

public static int drawerSelectedOption = 0;
private void selectItem(int position) {
    drawerSelectedOption = position;
    Fragment fragment = null;
    switch (position) {
        case 0:
            fragment = new StoresFragment();
            break;
        case 1:
            //promos
        case 2:
            fragment = new TransactionsFragment();
            break;
        case …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-actionbar navigation-drawer

5
推荐指数
1
解决办法
859
查看次数

共享Google云端硬盘文件而不发送通知电子邮件

我正在使用Google Drive Java API。我需要将文件从一个Google域复制到另一个域,因此我的方法如下:

  1. 使用源域服务帐户进行身份验证
  2. 与目标域中的用户共享文件
  3. 使用目标域服务帐户进行身份验证并模拟用户
  4. 将原始文件从原始域复制到目标域
  5. 从原始文件中删除共享权限

一切都按预期工作,除了我不希望目标所有者收到Google云端硬盘电子邮件,通知他有关共享文件的信息。当通过Web GUI共享文件时,可以禁用通知电子邮件,因此我想也可以通过API来实现,问题是如何^^任何人?

PS:如果可能的话,我乐于接受新的“不太繁琐”的方法来创建文件从一个域到另一个域的副本。

google-api google-apps google-apps-for-education google-drive-api

5
推荐指数
2
解决办法
2975
查看次数

Cordova/Phonegap Google Maps Plugin上标记图标的本地图像

是否可以使用本地存储在设备上的图像作为标记图标?我可以使用URL并且它可以工作,但是当我尝试使用本地图像时它将无法加载.我应该如何参考图像?这是一个多平台应用程序,因此我无法使用Android等设备特定路径file:///android:asset/

map.addMarker({
    'position': new plugin.google.maps.LatLng(13.7579507,100.5643353),
    'title': 'Fortune Town',
    'icon': '../templates/icon2.png'
}, function(marker) {
    marker.showInfoWindow();
});
Run Code Online (Sandbox Code Playgroud)

我正在使用Ionic Framework(使用AngularJS)和Apache Cordova以及来自https://github.com/wf9a5m75/phonegap-googlemaps-plugin/Google Maps插件

angularjs cordova ionic-framework cordova-plugins phonegap-gmaps-plugin

5
推荐指数
1
解决办法
5449
查看次数

dispatch_group_notify被调用多次,因为在嵌套块中调用dispatch_group_leave

我在下面有这个逻辑; 它们基本上是3个嵌套的调度组块.

  1. 第一组(group)将执行3个短异步任务(仅从Web服务下载数据)和1个更长的异步任务:将未同步的记录上载到Web服务,在本地删除已同步的记录,最后从Web服务下载记录(首先一个包含ID和基本信息的数组,然后是这些记录中的每一个).
  2. 第二组(saveGroup)是较长任务的一部分.它将等待所有未完成的记录对Web服务的请求完成.
  3. 第三个(downloadGroup)将等到所有这些单个记录下载请求到服务完成.

一切顺利,直到第三个派遣小组.如您所见,我获取服务器上记录的ID和基本信息,遍历数组并使用downloadGroup调用dispatch_group_enter,然后触发HTTP请求.在dispatch_group_leave完成请求时被调用.我可以看到dispatch_group_leave每个请求被调用,最后dispatch_group_notify被调用多次.

-(void) doTheSync {
    dispatch_group_t group = dispatch_group_create();

    [self syncFirstDataWithGroup: group];
    [self syncSecondDataWithGroup: group];
    [self syncThirdDataWithGroup: group];

    [self syncRecordsWithExternalGroup: group];

    dispatch_group_notify(group, dispatch_get_main_queue(), ^{
        NSLog(@"Finished all the sync");
    });
}

-(void) syncRecordsWithExternalGroup: (dispatch_group_t) externalGroup {
    dispatch_group_enter(externalGroup);

    NSError* error = nil;
    ConfigureDataModelHandler* configDataHandler = [ConfigureDataModelHandler sharedCoredata];
    WebserviceLib* RESTClient = [WebserviceLib sharedInstance];

    //get all unsynced records (f
    NSArray* recordsUnsynced = [configDataHandler getAllRecordsWithSynced: NO ignoreDelete: YES withError: …
Run Code Online (Sandbox Code Playgroud)

asynchronous objective-c grand-central-dispatch ios

5
推荐指数
1
解决办法
1978
查看次数

存储在SSKeychain中的CFUUID在某些设备中为空

我发布的应用程序使用CFUUIDSSKeychain来识别设备(即使应用程序已卸载并重新安装,也可以保持该ID不变)

我将这些设备ID保存在服务器中,我最近注意到一些用户为同一个真实设备拥有多个这些ID.我看到的唯一解释是ID没有从Keychain保存或加载,因此设备生成一个新ID.奇怪的是,它在运行相同iOS版本的其他一些设备上运行良好.

关于可能发生什么的任何想法?

这是我的相关代码 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

NSString* identifier = @"appName";
NSString* serviceName = @"com.company.appName";
NSString *retrieveuuid = [SSKeychain passwordForService:serviceName account:identifier];
if (retrieveuuid == nil) {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    NSString *uuid  = (NSString*) string;
    [SSKeychain setPassword:uuid forService:serviceName account:identifier];
}
Run Code Online (Sandbox Code Playgroud)

编辑:我的猜测是retrieveuuid == nil由于某种原因没有按预期工作.稍后在应用程序中我注册了推送通知,并将推送令牌连同我用同一条线读取的CFUUID一起[SSKeychain passwordForService:serviceName account:identifier]发送到服务器但是当它被发送到服务器时它不是零(所以我可以看到几个CFUUID与相同的推送令牌).

编辑2以附加更多实际代码.

AppDelegate.m

NSString* identifier = @"appName";
NSString* serviceName = @"com.company.appName";
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //Creating UUID …
Run Code Online (Sandbox Code Playgroud)

objective-c keychain ios sskeychain

3
推荐指数
1
解决办法
2013
查看次数