Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro ao abrir o site

Boa tarde,

Ao realizar a modificação do código para abrir o site, o erro abaixo é exibido.

D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: br.com.camilabalat.agenda, PID: 20021
    android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
        at android.app.ContextImpl.startActivity(ContextImpl.java:912)
        at android.app.ContextImpl.startActivity(ContextImpl.java:888)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
        at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:159)
        at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:923)
        at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:913)
        at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
        at android.widget.AdapterView.performItemClick(AdapterView.java:318)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1159)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136)
        at android.widget.AbsListView$3.run(AbsListView.java:4052)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process: Sending signal. PID: 20021 SIG: 9
Application terminated.

Segue código da modificação.

@Override
public void onCreateContextMenu(ContextMenu menu, View view, final ContextMenu.ContextMenuInfo menuInfo) {
    MenuItem deletar = menu.add("Deletar");

    MenuItem itemSite = menu.add("Visitar site");
    Intent intentSite = new Intent(Intent.ACTION_VIEW);
    intentSite.setData(Uri.parse("http://www.google.com"));
    itemSite.setIntent(intentSite);

    deletar.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
            Aluno aluno = (Aluno) listaAlunos.getItemAtPosition(info.position);

            AlunoDAO dao = new AlunoDAO(ListaAlunosActivity.this);
            dao.deleta(aluno);
            dao.close();

            carregaLista();

            return false;
        }
    });
}

Obrigada, Camila Pitondo

5 respostas

Camila, tudo bom?

Eu simulei seu código aqui no método onCreateContextMenu, e não tive este erro

Você pode disponibilizar o código

Segue o código no GitHub

https://github.com/CaPitondo/Agenda.git

Camila

Eu testei seu código, e mesmo assim não tive este erro. Você poderia fazer um Clean Project no Android Studio

Você esta testando o app qual versão do Android ?

Boa tarde Alessandro,

Estou testando no Nexus 5X API 28.

solução!

Boa tarde Alessandro,

Troquei de emulador, estou usando o Nexus Galaxy com API 27 (Android 8.1) e funcionou perfeitamente. O problema está na versão do Android.

Obrigada.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software