android - 当所有 Activity 都在后台时,从 TileService 或从 View 启动Activity(android)

标签 android

前提条件:

  1. 安卓Q
  2. 我的所有 Activity 都在后台进行

问题1:

我在前台有一个 View ,当用户单击该 View 时,我尝试在 android Q 中启动一个 Activity 。
这是我的代码。

Intent intent = new Intent(context, BorderActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

这不起作用,也没有发生崩溃。我得到一些日志。

D ActivityTaskManagerServiceInjector: MIUILOG- Permission Denied Activity : Intent ...



问题2:

我有一个 TileService,当用户单击状态栏中的图标时,我尝试启动一个 Activity 。

@TargetApi(Build.VERSION_CODES.N)
public class QuickSettingService extends TileService {
    @Override
    public void onClick() {
        Intent intent = new Intent(this, MyActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivityAndCollapse(intent);
    }
}

AndroidManifest

<service
    android:name=".service.QuickSettingService"
    android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
    <intent-filter>
        <action android:name="android.service.quicksettings.action.QS_TILE" />
    </intent-filter>
</service>

我得到同样的错误:

D ActivityTaskManagerServiceInjector: MIUILOG- Permission Denied Activity : Intent ...

如何从后台启动Activity?

最佳答案

最后我发现MIUI rom中有一个特殊的权限。 权限:android.permission.START_ACTIVITIES_FROM_BACKGROUND
用户必须在应用设置中启用“在后台运行时显示弹出窗口”。我无法在应用程序运行时请求权限,甚至无法知道用户是否已授予该应用程序的权限。

关于android - 当所有 Activity 都在后台时,从 TileService 或从 View 启动Activity(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507822/

相关文章:

java - Eclipse android项目不生成jar

Android xml 层列表在某些设备上无法正确显示

android - 类未找到异常 : Didn't find class "android.support.constraint.ConstraintLayout" on path

android - 为什么 Kotlin 文件显示为 .java 启用了 Proguard 的 Fabric Crashlytics?

android - 如何在 native 代码中从 Android 扩展文件中获取文件数据

java - HashMap<Key,List<Object>> 来自包含相同属性的对象列表

android - 混淆文件夹结构 - Android

javascript - React Native CameraRoll 权限被拒绝

android - 连接到 connect() 处的 url 时出现 IO 异常

android - 如何在膨胀 View 上显示上下文菜单?