问题:
startActivityForResult
和 launchMode singleInstance
无法正常工作。
回答:
startActivityForResult
是一种启动 Activity 的常见方式,用于从一个组件向另一个组件发送请求。这个方法在 Android 5.0(API 级别 21)及更高版本中已被弃用。在更新后的 API 级别 26 中被标记为过时,并将在以后的版本中移除。
launchMode singleInstance
是 Android 应用程序启动模式的配置选项之一。singleInstance
模式在同一个应用程序中创建一个新的 Activity 实例,这个 Activity 将会独立运行,与其它 Activity 无关。
区别:
startActivityForResult
用于从一个组件向另一个组件发送请求,而 launchMode singleInstance
用于启动一个新的 Activity 实例。startActivityForResult
的返回值是通过 onActivityResult()
方法获得的,而 launchMode singleInstance
的返回值是直接传递给 Activity
的。要解决 startActivityForResult
和 launchMode singleInstance
无法正常工作的问题,可以尝试以下方法:
android:launchMode
属性,以支持 singleInstance
模式。Intent
类的 setFlags()
方法,设置 Intent
的标志位,以启用 singleInstance
模式。ActivityCompat
类中的 startActivityForResult
方法,代替 startActivityForResult
方法。推荐解决方案:
使用 UMeng Open 的 UMWebView 组件,该组件是腾讯 UXP 的一部分,允许在 Android 应用中嵌入浏览器能力。UMWebView 提供了更丰富的功能和更好的兼容性。
领取专属 10元无门槛券
手把手带您无忧上云