Rodar aplicação em segundo plano

686 views
Skip to first unread message

Thiago Freitas

unread,
Nov 1, 2012, 11:30:43 AM11/1/12
to androidbrasil-dev
A app do facebook e do twitter e muitas outras são iniciadas junto com o sistema operacional android. Quando eu ligo meu tablet o facebook por exemplo já me manda notificações de mudança no meu perfil sem eu precisar de dar um start no app do facebook. Como posso fazer isso com minha aplicação?

--
<°)))><

"Ao que está assentado sobre o trono, e ao Cordeiro, sejam dadas ações de graças, e honra, e glória, e poder para todo o sempre." Ap 5:13
--------------
"Confia no SENHOR de todo o teu coração e não te estribes no teu próprio entendimento." Pv 3:5
"Reconhece-o em todos os teus caminhos, e ele endireitará as tuas veredas." Pv 3:6
-------------
"Respondeu-lhes Jesus: Em verdade, em verdade eu vos digo: antes que Abraão existisse, EU SOU." Jo 8:58

Diogo Henrique

unread,
Nov 1, 2012, 11:33:35 AM11/1/12
to androidb...@googlegroups.com
Service... tem varios exemplos na web
http://www.vogella.com/articles/AndroidServices/article.html


Diogo Henrique
(83)87344178
Rede Sociais: 
Meditando Provérbios: 





--
 
 

Marcelo Henrique

unread,
Nov 1, 2012, 11:34:45 AM11/1/12
to androidb...@googlegroups.com
http://developer.android.com/guide/components/services.html;


Em 1 de novembro de 2012 13:30, Thiago Freitas <thiagos...@gmail.com> escreveu:
--
 
 



--
                                              - Marcelo Henrique -
  "Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)

Psy Khé

unread,
Nov 1, 2012, 11:53:05 AM11/1/12
to androidb...@googlegroups.com

Da uma olhada em broadcastreceiver e service. Na doc oficial.

--
 
 

Jonas Alves

unread,
Nov 1, 2012, 8:19:44 PM11/1/12
to androidb...@googlegroups.com

Não confunda service com push notifications.

--
 
 

Thiago Freitas

unread,
Nov 7, 2012, 9:09:46 AM11/7/12
to androidbrasil-dev
Resolvi o problema com o IntentService. Roda em segundo plano. Mas tenho um problema, se fechar a APP principal o service termina também.

Como faço para que ele não possa ser interrompido?


--
 
 

Otávio Mendes

unread,
Nov 7, 2012, 9:11:40 AM11/7/12
to androidb...@googlegroups.com
Foi justamente para isso que o Service foi criado: rodar em segundo plano independentemente se a aplicação estiver fechada ou aberta.

--
 
 

Thiago Freitas

unread,
Nov 7, 2012, 9:13:42 AM11/7/12
to androidbrasil-dev
Sim, isso que eu disse. Criei um IntentService e ela esta fechando.

Otávio Mendes

unread,
Nov 7, 2012, 9:22:09 AM11/7/12
to androidb...@googlegroups.com
De duas uma: ou o serviço dele está realmente terminando ou ele está usando algo que depende da Thread da interface e está lançando algum erro. Código por favor?

--
 
 

Thiago Freitas

unread,
Nov 7, 2012, 9:30:32 AM11/7/12
to androidbrasil-dev

public class MeuRastreadorService extends IntentService {
private IntentFilter gcmFilter;
private String regId; 
private Handler handle;
private BroadcastReceiver mHandleMessageReceiver;
public MeuRastreadorService() {
super("MyService");
}
@Override
protected void onHandleIntent(Intent intent) {
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onCreate() {
super.onCreate();
start_services();
}

}


e o meu manifest



    package="br.com.teste.minhaapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
    
    
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

    <application
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <service android:enabled="true" android:name=".MRIntentService"></service>                     
        
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".CreateAccountActivity"
            android:label="@string/title_activity_create_account" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".LoggedActivity"
            android:label="@string/title_activity_logged" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        
         <receiver android:name=".BootCompletedIntentReceiver">  
<intent-filter>  
    <action android:name="android.intent.action.BOOT_COMPLETED" />  
</intent-filter>  
 </receiver>  
        
        <service  android:name=".MyService"></service>
        
    </application>

</manifest>

Otávio Mendes

unread,
Nov 7, 2012, 9:36:54 AM11/7/12
to androidb...@googlegroups.com
Não tem nada para executar no método onHandleIntent!!! O que ele vai executar em segundo plano?

E outra. Você está usando um Service para deixar um BroadcastReceiver escutando algo? Mas é isso que o BroadcastReceiver faz: ficar escutando algo e ser despertado quando esse algo acontece. Para que um Service para permitir que ele fique escutando?

--
 
 

Thiago Freitas

unread,
Nov 7, 2012, 9:40:01 AM11/7/12
to androidbrasil-dev
O BroadcastReceiver é para houvir o google cloud messaging, não preciso dele pra isso?
Reply all
Reply to author
Forward
0 new messages