我想启动我的应用程序(如果它以前关闭过)或将它带到前台,当用户在我的小部件上选择一个操作时
它在android 10之前的版本上工作得很好,但在android 10上什么都没有发生
这是我的代码:
Intent intent = new Intent();
intent.setClass(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
我知道android 10对从后台开始活动的限制,但我想知道是否有任何变通方法来实现这一点?
在小部件类中声明
private var remoteView: RemoteViews? = null
然后打电话
val intent = Intent(applicationContext, MainActivity::class.java)
val stackBuilder = TaskStackBuilder.create(applicationContext)
stackBuilder.addNextIntentWithParentStack(intent)
val resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
remoteView = RemoteViews(packageName, R.layout.my_widget)
remoteView!!.setOnClickPendingIntent(R.id.app_widget, resultPendingIntent)
如果单击了小部件,则应启动MainActivity。 我在一个前台服务中使用它,但是我认为如果小部件不在一个运行的服务中,即使服务停止,它也可以正常工作。