In alternativa alla risposta di Dalmas, è possibile esportare uno Activity
senza creare uno <intent-filter>
(insieme con il fastidio di venire con un'azione personalizzata).
Nel Manifest
modificare la tua Activity
tag in questo modo:
<activity
android:name=".SomeActivity"
....
android:exported="true" />
La parte importante è android:exported="true"
, questo tag export
determina "se l'attività può essere lanciato da componenti di altre applicazioni". Se il tuo <activity>
contiene un <intent-filter>
, questo tag è impostato automaticamente su true
, in caso contrario, è impostato su false
per impostazione predefinita.
Poi per avviare l'Activity
fare questo:
Intent i = new Intent();
i.setComponent(new ComponentName("package name", "fully-qualified name of activity"));
startActivity(i);
Naturalmente con questo metodo è necessario conoscere il nome esatto della attività che si sta tentando di lanciare.
fonte
2012-07-18 23:09:57
Grazie, ho appena letto il Barcodescanner Manifest e ho scoperto la stessa cosa. :] – Force