我尝试在教程中的 setFlags 中使用此标志,但已弃用,我该怎么办

Posted

技术标签:

【中文标题】我尝试在教程中的 setFlags 中使用此标志,但已弃用,我该怎么办【英文标题】:I tried using this Flag in setFlags from tutorial but its deprecated, what do i do 【发布时间】:2016-01-15 17:05:22 【问题描述】:

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 已弃用;那我应该用什么?

private Intent createShareForecastIntent() 

    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, mforecastStr + FORECAST_SHARE_HASHTAG);
    return shareIntent;



【问题讨论】:

考虑使用ShareCompat.IntentBuilder,它可以为您完成大部分工作。 【参考方案1】:

引用the documentation:

从 API 21 开始,这与 FLAG_ACTIVITY_NEW_DOCUMENT 的执行方式相同,应该使用它来代替它。

由于两个符号具有相同的数值 (0x00080000),就运行时行为而言,使用哪一个并不重要。如果您的 compileSdkVersion 为 21 或更高,请切换到 FLAG_ACTIVITY_NEW_DOCUMENT

【讨论】:

【参考方案2】:

请看这里 (Intent)

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) 
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
        

【讨论】:

以上是关于我尝试在教程中的 setFlags 中使用此标志,但已弃用,我该怎么办的主要内容,如果未能解决你的问题,请参考以下文章

我试过在教程的setFlags中使用这个Flag,但是不推荐使用它,我该怎么做

在python中将`QTableWidget`中的一整列设置为只读

无法将SEEN标志设置为从gmail读取的邮件

此选项列表是不是可以接受数据库中的布尔标志?

imap_setflag_full 似乎啥都不做?

当我尝试编译此程序时,程序错误中出现杂散的“#”