在前台服务中创建是/否弹出窗口 - Android

问题描述

我正在处理一个前台服务,我正在录制一个 .wav 文件(我已经退出应用程序)然后我想显示一个是/否弹出窗口,让用户决定是否停用应用程序和服务作为好还是让它继续运行? 我使用了以下代码,但它会生成以下错误

        DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog,int which) {
            switch (which){
                case DialogInterface.BUTTON_POSITIVE://Ignore
                    //Yes button clicked


                    break;

                case DialogInterface.BUTTON_NEGATIVE://Deactivate
                    //No button clicked


                    stopSelf();
                    break;
            }
        }
    };

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Are you sure?").setPositiveButton("Ignore",dialogClickListener)
            .setNegativeButton("Deactivate",dialogClickListener).show();

2021-04-02 11:51:28.635 25184-25184/com.example.testaudiorecord E/AndroidRuntime:致命异常:main 进程:com.example.testaudiorecord,PID:25184 java.lang.RuntimeException:无法创建服务 com.example.testaudiorecord.MyService:java.lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)。 在 android.app.ActivityThread.handleCreateService(ActivityThread.java:3573) 在 android.app.ActivityThread.-wrap6(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1749) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6816) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451) 引起:java.lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)。 在 androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:843) 在 androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:806) 在 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:693) 在 androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:95) 在 androidx.appcompat.app.AlertController.installContent(AlertController.java:232) 在 androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:279) 在 android.app.Dialog.dispatchOnCreate(Dialog.java:478) 在 android.app.Dialog.show(Dialog.java:336) 在 androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1009) 在 com.example.testaudiorecord.MyService.onCreate(MyService.java:114) 在 android.app.ActivityThread.handleCreateService(ActivityThread.java:3563) 在 android.app.ActivityThread.-wrap6(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1749) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6816) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451) 2021-04-02 11:51:28.668 25184-25197/com.example.testaudiorecord V/MediaPlayer:收到消息msg=6,ext1=0,ext2=0 2021-04-02 11:51:28.669 25184-25197/com.example.testaudiorecord V/MediaPlayer:无法识别的消息:(6,0)

你能帮忙吗。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...