Pergunta

I've written following class to start my application activity Home.class but on device start up it shows error forced close.

public class MyBootRecvr extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, Home.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.addFlags(Intent.FLAG_FROM_BACKGROUND);
        context.startActivity(i);
        Toast.makeText(context, "Where is my KeyBoard", Toast.LENGTH_LONG)
                .show();
    }
}

Permissions and receiver tags in application.


<receiver
     android:name=".Home"
     android:enabled="true"
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
     <intent-filter>
         <action android:name="android.intent.action.BOOT_COMPLETED" />
         <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
 </receiver>
Foi útil?

Solução

If this is the only code in your application, it will never run. Android applications must have at least one subclass of Activity as a starting point for when you run the app. The Activity could should at a minimum look something like this:

class MyActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.my_layout); /* my_layout should be an XML layout in res/layout */
    }
}

Make sure the following code in is your AndroidManifest.xml file

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

If you create a new Android project in Eclipse, it will do this setting up for you. There are a lot of tutorials on both setting up a basic application in Android, and using Eclipse to do it for you.

Outras dicas

doing this solve the problem thanks to xono

<receiver
     android:name=".MyBootRecvr"
     android:enabled="true"
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
     <intent-filter>
         <action android:name="android.intent.action.BOOT_COMPLETED" />
         <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
 </receiver>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top