API v29对于从后台启动活动的限制
创始人
2024-09-07 03:00:50
0

在API v29中,Android引入了对于从后台启动活动的限制,以增强用户隐私和安全性。在这个版本中,如果您的应用程序在后台启动活动,则会出现以下限制:

  1. 后台启动活动将显示一个短暂的“悬浮窗口”,用于通知用户有一个活动正在后台运行。
  2. 后台启动的活动将不再获得焦点,用户将无法与其进行交互,直到将其显示在前台。
  3. 后台启动的活动将无法访问用户输入,例如触摸事件或键盘输入。

要解决这些限制,您可以使用以下方法之一:

  1. 使用前台服务:将活动改为前台服务,以便在后台运行时仍然可以与用户交互。您可以通过将活动转换为服务并使用前台服务通知来实现这一点。示例代码如下:
public class MyForegroundService extends Service {
    private static final int SERVICE_NOTIFICATION_ID = 1;
    
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // 在此处创建并显示前台服务通知
        Notification notification = new Notification.Builder(this)
                .setContentTitle("My App")
                .setContentText("活动正在后台运行")
                .setSmallIcon(R.drawable.ic_notification)
                .build();
        
        startForeground(SERVICE_NOTIFICATION_ID, notification);
        
        // 在此处执行您的活动逻辑
        
        return START_STICKY;
    }
    
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}
  1. 使用窗口类型:如果您确实需要从后台启动活动并与用户进行交互,您可以将活动的窗口类型设置为TYPE_APPLICATION_OVERLAY。这将允许您的活动显示在其他窗口之上,并且无需获得焦点。示例代码如下:
public class MyBackgroundActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // 将窗口类型设置为TYPE_APPLICATION_OVERLAY
        getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
        
        // 在此处执行您的活动逻辑
    }
}

请注意,使用窗口类型需要您的应用程序具有SYSTEM_ALERT_WINDOW权限,并且该权限需要通过用户授权。

这些方法可以帮助您在API v29中解决从后台启动活动的限制。根据您的需求和应用程序的设计,选择适合您的解决方案。

相关内容

热门资讯

靠谱9分钟!aapoker辅助... 靠谱9分钟!aapoker辅助德州专用扑克高科技(总是真的有挂)-微博客户端德州专用扑克高科技辅助器...
计算器九分钟!扑克世界辅助扑克... 计算器九分钟!扑克世界辅助扑克时间后台数据被攻破(就是真的有挂)-知乎;1)扑克时间后台数据被攻破辅...
机制2分钟!wopoker分析... 机制2分钟!wopoker分析器下载德州wepower有外挂(果真真的有挂)-今日头条;1、每一步都...
开挂十分钟!wpk显示有wpk... 开挂十分钟!wpk显示有wpk辅助神器(其实真的有挂)-百度知乎;1、每一步都需要思考,不同水平的挑...
ai代打八分钟!好运大菠萝有挂... ai代打八分钟!好运大菠萝有挂的微扑克系统是有问题(原来真的有挂)-小红书;1、每一步都需要思考,不...
透明挂3分钟!德扑之星系统发牌... 透明挂3分钟!德扑之星系统发牌机制红龙扑克模拟器(一直真的有挂)-百度知乎小薇(透视辅助)致您一封信...
存在三分钟!wpk微扑克辅助是... 存在三分钟!wpk微扑克辅助是真的微扑克游戏辅助器(其实真的有挂)-知乎;1、wpk微扑克辅助是真的...
合作四分钟!线上微扑克代打德州... 合作四分钟!线上微扑克代打德州wpk德州有挂(一贯真的有挂)-知乎1、许多玩家不知道线上微扑克代打辅...
模拟器9分钟!微扑克辅助哪里有... 模拟器9分钟!微扑克辅助哪里有卖德扑之星里面可以隐藏入池率(果然真的有挂)-哔哩哔哩1、游戏颠覆性的...
大厅房六分钟!微扑克线上代打工... 大厅房六分钟!微扑克线上代打工具wepoke人有挂(原来真的有挂)-微博客户端;1、微扑克线上代打工...