当前位置: 首页 > 知识库问答 >
问题:

当我们从后台服务调用intent时,它在android 10中不起作用

公羊英达
2023-03-14

下面的函数在服务中被调用。当条件得到满足时,意图就是要求做某事。我使用了maintent。addFlags(意图、标志、活动、新任务) 从服务中执行意图,但在android 10中,意图不起作用。

有人能帮我解决这个问题吗?

public void playAudio(){
  
    if(mp != null && !mp.isPlaying()){
        //dont want to pick up phone audio
        claps++;
        new Handler(Looper.getMainLooper()).post(new Runnable() {
            public void run() {
                //OverviewFragment.refresh(getApplicationContext());
                System.out.println("yay" + claps);
                Log.e("claps", String.valueOf(claps));
                //Toast.makeText(AnotherService.this, "In background thread", Toast.LENGTH_SHORT).show();

                Toast.makeText(AnotherService.this, ""+ claps, Toast.LENGTH_SHORT).show();
            }
        });

    }

    if(mp != null && !mp.isPlaying() && claps >= MainActivity.w){
       
          mp.start();


        Intent mainIntent = new Intent(AnotherService.this, StopAlarmActivity.class);
        mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(mainIntent);
        claps = 0;
    }
    //modifyText();

}

共有1个答案

郭乐湛
2023-03-14

请检查以下链接:https://www.py4u.net/discuss/619814

不确定这样做是否正确,但我没有足够的时间(该应用程序只供公司内部使用)。

我使用了权限:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

然后每个用户都必须去设置-

对不起我的英语或不完全正确的解决方案,但它工作了,所以很好的热修复补丁对我来说。

在Pixel 4上,它将如下所示:

 fun createNewDocument() {
        val newDocumentIntent = newDocumentIntent()
       // if (useMultipleTasks) {
            newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
            newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
            newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
       // }
        startActivity(newDocumentIntent)
    }




private fun newDocumentIntent(): Intent =
        Intent(this, DetailActivity::class.java).apply {
            addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT or
                    android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS)
            putExtra(Conproperties().project_id,project_id)
            putExtra(Conproperties().notidatetime,notidatetimeConvet)

            val s = SimpleDateFormat("d/MM/yyyy HH:mm:ss Z",Locale.ENGLISH)
            val cal = Calendar.getInstance()
            var alertdatetime = s.format(cal.time)

            putExtra(Conproperties().alertdatetime,alertdatetime)

        }

我没有足够的声誉来评论解决方案https://stackoverflow.com/a/59067224/8995217所以我试着把我的答案留给MIUI rom

似乎需要为在小米手机上运行的应用程序授予一些权限。转到手机设置-

在应用信息页面上,转到其他权限并启用以下选项

在后台运行时在锁屏上显示弹出窗口永久通知它适用于小米Redmi Note 8T

cr:https://www.py4u.net/discuss/619814

 类似资料:
  • 我试图在我的项目中实现这段代码,但不起作用RecycerView:如何捕捉ImageView上的onClick?: 我实现了一个接口来处理RecycerView中的onclick imageview和onclick row。问题是,当我试图在imageview上或在行中单击时,不会发生任何事情。如果我在我的ViewHolder类中尝试同样的方法,效果会很好,因为我可以看到祝酒词。问题是我需要这个工

  • 我最近将iOS设备升级为使用iOS 7。我们正在开发的一个应用程序使用后台位置服务跟踪设备位置,我们所有的测试人员都报告说,在iOS 7下,该应用程序似乎不再在后台跟踪设备位置。 我们已经验证了应用程序的背景在设备上的设置中启用,并且之前的版本在iOS6下完美运行。即使设备被循环使用,应用程序也会在位置更新后重新启动。 在iOS7下,是否还需要做些什么来使这项工作发挥作用?

  • 此代码未生成推送。 //自定义通知视图RemoteViews contentView=新建RemoteViews(getPackageName(),r.layout.custom_push);ContentView.SetImageViewResource(r.id.image,r.mipmap.ic_launcher);contentview.settextviewtext(r.id.title

  • 我有两个Tomcat分别运行war。我添加了这个

  • 我的GridbagLayout有些问题。我创建了一个JPanel(在本例中称为mainPanel),它的布局被设置为GridBagLayout。我已经为每个JButton指定了约束,并将约束添加到每个Button。现在,当我运行代码时,按钮总是紧挨着的,而不考虑我在约束中指示的Gridx/Gridy值。此外,按钮总是位于JFrame的中心,我希望一个按钮出现在右上角、左上角和南边。 这是我运行代码

  • 我试图向任何使用此机器人加入我的不和谐服务器的人发出欢迎消息,但当有人加入时,不会发生任何事情。我得到一个错误:引用错误:通道名称未定义在C:\用户\Vir\桌面\DiscBot\index.js:13: 71在Map.find(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\util\Collection.js:506: 11)在客户端。(C:\