Ghean Postado 15 de setembro de 2011 Denunciar Compartilhar Postado 15 de setembro de 2011 Boa tarde a todos. Existe uma forma de criar uma aplicação para executar um evento no momento em que um ligação é atendida ou efetuada? Ou no momento que atendemos um ligação, chamamos executamos um aplicativo? Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 15 de setembro de 2011 Denunciar Compartilhar Postado 15 de setembro de 2011 (editado) sim, basta usar o CoreTelephony framework .... callCenter = [[CTCallCenter alloc] init]; callCenter.callEventHandler = ^(CTCall* aCallIncomming) { // anounce that we've had a state change in our call center NSDictionary *dict = [NSDictionary dictionaryWithObject:aCallIncomming.callState forKey:@"callState"]; [[NSNotificationCenter defaultCenter] postNotificationName:@"CTCallStateDidChange" object:self userInfo:dict]; }; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ctCallStateDidChange:) name:@"CTCallStateDidChange" object:nil];- (void)ctCallStateDidChange:(NSNotification *)notification{ NSString *callInfo = [[notification userInfo] objectForKey:@"callState"]; if ([callInfo isEqualToString:CTCallStateIncoming]) { NSLog(@"do something ..."); }}[/CODE] Editado 15 de setembro de 2011 por Artur Felipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 15 de setembro de 2011 Autor Denunciar Compartilhar Postado 15 de setembro de 2011 Olá Artur. Obrigado pela resposta. Em qual das situações esse script se encaixa: Recebo ou faço uma ligação, script acima é executado Executo um app, ao receber ou fazer uma ligação o script é executado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 15 de setembro de 2011 Denunciar Compartilhar Postado 15 de setembro de 2011 primeiro tem que executar o app né, senão não vai ter ninguém escutando no notification center. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 16 de setembro de 2011 Autor Denunciar Compartilhar Postado 16 de setembro de 2011 Entendi, foi o que pensei... Mas para ser mais especifico, eu quero criar um app que sempre esteja rodando, para garantir que pegarei as ligações. Se trata de um trabalho especifico para um cliente, não será uma app publica ou que estará a venda na store. Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 (editado) então lhe adianto que não é possivel fazer esse tipo de app oficialmente, precisaria de jailbreak e alteração no sistema provavelmente fazendo algumas injeções de código em modo runtime. até porque enquanto o usuário está usando, quando o sistema necessitar de memória o primeiro app que dança é o seu que estiver em background, e dependendo do que queira fazer com as ligações pode ser impossível com o sdk atual ... coisas como gravar as ligações por exemplo, pois o app das ligações bloqueia os recursos de microfone e auto-falantes. talvez, necessitaria de uma pesquisa mais a fundo pra verificar, se desenvolver um hardware que acople ao telefone pela porta dock possa ser possível, dependendo dos recursos que tenhas disponível. Editado 16 de setembro de 2011 por Artur Felipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 16 de setembro de 2011 Autor Denunciar Compartilhar Postado 16 de setembro de 2011 Entendi. Existe então uma forma de consultar a lista de ligações efetuadas e recebidas? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 infelizmente não oficialmente, não existe api no sdk que lhe forneça essa informação. Para acessar essa info vc teria que conectar direto numa database que guarda essa informação e fazer um select nela, porem essa database logicamente fica fora do sandbox da aplicação ou seja vc não pode acessa-la diretamente pois o usuário a nível de aplicação não conseguiria acessar arquivos fora da própria sandbox ... precisaria de jailbreak no aparelho para ai sim a aplicação ser executada com privilégio root e ter acesso a essa database. sua situação está difícil amigo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 16 de setembro de 2011 Autor Denunciar Compartilhar Postado 16 de setembro de 2011 Pois é Artur, está mesmo... Mesmo depois dos suas respostas, recebi um famoso, TVN, "Te Vira Negão", Encontrei um projeto brasileiro open source que faz quase a mesma coisa de que preciso, irei dar uma olhada nos fontes e ver como ele faz. Segue o link caso queira conferir também. http://blogdoiphone.com/2011/01/lancado-o-primeiro-projeto-brasileiro-de-aplicativo-para-iphone-com-codigo-open-source/ Muito obrigado Artur. Citar Link para o comentário Compartilhar em outros sites More sharing options...
torcapio Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 cara vcs estao em velocidade de dobra! em outras palavras tenho que estudar muito para ficar perto do nivel de voces, putz estou cheio de duvida em objective c.... vcs podem me ajudar. obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 (editado) dei uma olhada no aplicativo e ele simplesmente consome a pagina web para cada operadora, loga e pega as infos disponíveis lá ... não sei especificamente o que vc precisa na sua aplicação mas se a operadora fornece em um portal o que vc precisa então essa aplicação no github ajuda muito, senão nada muito o que possa fazer. disponha e qualquer coisa só dizer. Editado 16 de setembro de 2011 por Artur Felipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 (editado) cara vcs estao em velocidade de dobra! em outras palavras tenho que estudar muito para ficar perto do nivel de voces, putz estou cheio de duvida em objective c.... vcs podem me ajudar. obrigado poste sua dúvida no forum, sempre tem alguém que ajuda ou dá um jeito de ajudar, tem até uns grupos e blogs sobre programação para iphone com vários tutos. eu pelo menos só não ajudo quando percebo que já é spam e estou praticamente montando toda a aplicação pro cara, fora isso fico feliz em ajudar no que for de meu conhecimento assim como tantos outros no forum. Editado 16 de setembro de 2011 por Artur Felipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 16 de setembro de 2011 Autor Denunciar Compartilhar Postado 16 de setembro de 2011 dei uma olhada no aplicativo e ele simplesmente consome a pagina web para cada operadora, loga e pega as infos disponíveis lá ... não sei especificamente o que vc precisa na sua aplicação mas se a operadora fornece em um portal o que vc precisa então essa aplicação no github ajuda muito, senão nada muito o que possa fazer. disponha e qualquer coisa só dizer. O que preciso na verdade é um registro de minutos gastos em cada ligação. Irei ver se consigo algo por essa app. Citar Link para o comentário Compartilhar em outros sites More sharing options...
torcapio Postado 16 de setembro de 2011 Denunciar Compartilhar Postado 16 de setembro de 2011 vlz meu amigo Artur, estou tentando fazer uma radio on-line para o iphone da empresa que trabalho atualmente, mais nao estou conseguindo finalizar ele,irei postar aqui no fórum.... um grande abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 18 de setembro de 2011 Denunciar Compartilhar Postado 18 de setembro de 2011 (editado) O que preciso na verdade é um registro de minutos gastos em cada ligação. Irei ver se consigo algo por essa app. andei pesquisando umas coisas e aparentemente pode ser possivel vc manter uma aplicação em background oficialmente fazendo algumas configurações ... de acordo com a documentação official: http://developer.app...0007072-CH5-SW6 vc pode configurar sua aplicação como se fosse uma Aplicação Voip para rolar em background, assim o sistema deixaria sua aplicação ficar rodando ... detalhes que constam na documentação: Add the UIBackgroundModes key to your application’s Info.plist file. Set the value of this key to an array that includes the voip string. Configure one of the application’s sockets for VoIP usage. Before moving to the background, call the setKeepAliveTimeout:handler: method to install a handler to be executed periodically. Your application can use this handler to maintain its service connection. Configure your audio session to handle transitions to and from active use. Including the voip value in the UIBackgroundModes key lets the system know that it should allow the application to run in the background as needed to manage its network sockets. An application with this key is also relaunched in the background immediately after system boot to ensure that the VoIP services are always available. Most VoIP applications also need to be configured as background audio applications to deliver audio while in the background. Therefore, you should include both the audio and voip values to the UIBackgroundModes key. If you do not do this, your application cannot play audio while it is in the background. For more information about the UIBackgroundModes key, see Information Property List Key Reference. aparentemente mesmo dando reboot no aparelho, com essas chaves sua aplicação seria iniciada pelo sistema depois de um reboot. configurando assim e usando o handle do primeiro post que passei para saber quando uma ligação ocorre, talvez vc possa medir e salvar numa base de dados o tempo das ligações que precisa ... Não fiz nenhum teste em cima disso mas acredito que dê um bom direcionamento de por onde tentar. Editado 18 de setembro de 2011 por Artur Felipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 18 de setembro de 2011 Autor Denunciar Compartilhar Postado 18 de setembro de 2011 Pô Artur, você é o cara... Irei fazer alguns teste durante a semana e lhe dou feedback de meus testes. Muito obrigado pelo help. Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Nitro Postado 19 de setembro de 2011 Denunciar Compartilhar Postado 19 de setembro de 2011 então lhe adianto que não é possivel fazer esse tipo de app oficialmente, precisaria de jailbreak e alteração no sistema provavelmente fazendo algumas injeções de código em modo runtime.até porque enquanto o usuário está usando, quando o sistema necessitar de memória o primeiro app que dança é o seu que estiver em background, e dependendo do que queira fazer com as ligações pode ser impossível com o sdk atual ... coisas como gravar as ligações por exemplo, pois o app das ligações bloqueia os recursos de microfone e auto-falantes. talvez, necessitaria de uma pesquisa mais a fundo pra verificar, se desenvolver um hardware que acople ao telefone pela porta dock possa ser possível, dependendo dos recursos que tenhas disponível. Sabe como posso começar a ter uma idéia de como programar injetando código no runtime para fazaer programas não oficiais. Tais como o que iniciou o tópico quer???? Vales e abraço.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 19 de setembro de 2011 Autor Denunciar Compartilhar Postado 19 de setembro de 2011 Olá Nitro. A intenção não é criar nada não oficial, e nem buscar idéias para programar dessa forma. Minha dúvida consiste em resolver um problema de forma oficial. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Nitro Postado 19 de setembro de 2011 Denunciar Compartilhar Postado 19 de setembro de 2011 Ok Ghean, minha intenção também não é fazer nada errado e sim aprender a programar para o cydia também. Pois tenho idéias que com certeza a Apple não vai aprovar, mas isso não significa que são erradas. Por isso já estou fazendo algo com Xcode oficial, mas quero entrar no mundo cydia também.. Se puder me dar uma luz nesse sentido vou agradecer muito Abraço.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Ghean Postado 20 de setembro de 2011 Autor Denunciar Compartilhar Postado 20 de setembro de 2011 Bom dia Artur, tudo bem? O CoreTelephony framework só esta disponivel partir da versão 4.0 do iPhone SDK, correto? Acredito não há como utiliza-lo em SDKs anteriores assim como também a app terá alguns problemas em aparelhos anteriores tbm, não é mesmo? Estou utilizando o Leopard e nesse momento não tenho como fazer o upgrade para o Snow Leopard ou para o Lion. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.