Recibí un error en mi aplicación de Android cuando intenta crear una instancia de un receptor que uso para iniciar un servicio en el arranque. El error es obvio, no puede encontrar el archivo de clase de mi receptor. Pero todo está bien con mi archivo de manifiesto, los paquetes y todo y no tengo ni idea de lo que está sucediendo. Aquí está mi código:No se pudo crear una instancia del receptor java.lang.ClassNotFoundException
package dti.obd.reader;
import dti.obd.reader.service.MainService;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Intent serviceIntent = new Intent(MainService.class.getName());
context.startService(serviceIntent);
}
}
Y mi archivo de manifiesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="dti.obd.reader"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<service android:name=".service.MainService" >
<intent-filter >
<action android:name="dti.obd.reader.service.MainService" />
</intent-filter>
</service>
<receiver android:name="dti.obd.reader.BootReceiver" >
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</manifest>
¿Alguien conoce el erro? Parece que el paquete y los nombres son todos bien ...
¡gracias! funcionó bien, esta respuesta debería ser aceptada! +1 para usted –
¿Puede explicarlo un poco más? – levi