PDA

Ver la Versión Completa : [ CONSULTA ] Broadcast Reciver cuando es lanzada una aplicacion


jtsamper
23/11/13, 18:49:00
Hola
Por mas que busco en internet no he encontrado la solucion.

Estoy haciendo una app de proteccion de apliaciones, como las app que hay por google play pero propia y a lo simple y cutre (para aprender) y lo que estoy buscando es la forma de que un servicio y broadcast recive detecte que una app a sido lanzada. En principio esto deberia funcionar..

<!--Manifiest.xml-->
<receiver
android:name="com.jtsamper.appprotect.MyReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
//CODIGO que e encarga de escuchas "SUPUESTAMENTE"
p = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_LAUNCHER);
registerReceiver(p, filter);Y por ultimo el broadcast

public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
Log.e("MYRECEIVER","LOAD");

}

@Override
public void onReceive(Context context, Intent intent) {
Log.e("RECIBE","PRINCIPIO " +intent.getPackage());

if (intent.getAction().compareTo(Intent.ACTION_BOOT_C OMPLETED) == 0) {
context.startService(new Intent(context, ServiceApp.class));
}
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.

Log.e("PRUEBA","RECIBE");
//throw new UnsupportedOperationException("Not yet implemented");
}
}


Intento esto ya que quiero evitar el uso de un Timer y TimerTask

Un saludo y gracias

kriogeN
23/11/13, 21:48:28
No se puede, cuando una aplicación se lanza no se produce un mensaje Broadcast (salvo que lo haga esa aplicación por si misma, pero el sistema no lo hace). Otra posibilidad es que lo haga el Launcher, pero los Launcher por defecto que vienen con los móviles no lo hacen.

jtsamper
24/11/13, 01:03:28
y como lo hacen los protectores de aplicaciones? ??