Como iniciar a atividade quando o usuário clica em uma notificação?
Eu estou tentando converter algum código que encontrei em um tutorial para meu próprio uso. Originalmente, o código iniciava a lista de contatos do sistema quando o usuário clicava em uma notificação gerada pelo meu aplicativo. Estou tentando iniciar umaActivity
do meu próprio, em vez de lançar a lista de contatos, mas não está funcionando. Mais especificamente, nada acontece. Não há erro, e meuActivity
não carrega também. A janela de notificação desaparece depois de clicar e o originalActivity
ainda é visível.
Aqui está o meu código:
<code>public class MyBroadcastReceiver extends BroadcastReceiver { private NotificationManager mNotificationManager; private int SIMPLE_NOTFICATION_ID; public void onReceive(Context context, Intent intent){ Bundle extras = intent.getExtras(); String deal = (String) extras.get("Deal"); String title = "Deal found at " + (String) extras.get("LocationName"); mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); Notification notifyDetails = new Notification(R.drawable.icon, title,System.currentTimeMillis()); Class ourClass; try { ourClass = Class.forName("com.kjdv.gpsVegas.ViewTarget"); Intent startMyActivity = new Intent(context, ourClass); PendingIntent myIntent = PendingIntent.getActivity(context, 0,startMyActivity, 0); notifyDetails.setLatestEventInfo(context, title, deal, myIntent); notifyDetails.flags |= Notification.FLAG_AUTO_CANCEL; notifyDetails.flags |= Notification.DEFAULT_SOUND; mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } </code>
Esta é a minha entrada noAndroidManifext.xml
Arquivo...
<code> <activity android:name=".ViewTarget" android:label="@string/app_name" > <intent-filter> <action android:name="com.kjdv.gpsVegas.ViewTarget" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </code>
E este é o meuActivity
que eu quero lançar ...
<code>public class ViewTarget extends ListActivity { public ListAdapter getListAdapter() { return super.getListAdapter(); } public ListView getListView() { return super.getListView(); } public void setListAdapter(ListAdapter adapter) { super.setListAdapter(adapter); } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.locations); Log.v("db", "Inside ViewTarget"); } } </code>