ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android:在startActivity()之后,活动被隐藏

2019-12-02 01:28:30  阅读:162  来源: 互联网

标签:android-activity android


private void setActionViewListener(final String uri) {
    mediaButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(uri)));
        }
    });

}

上面的代码用于使用给定的URL启动浏览器.该URL包含指向声音文件(mp3)或视频文件(mp4)的链接.该代码可在多个设备上使用.但是我们在HTC Desire(Android v 2.2)和Samsung Galaxy Nexus(Android v 4.0)上遇到问题.在这些设备上,浏览器只是闪烁并再次隐藏.因此很明显,意图是被广播和接收的,但是ActivityManager却以某种方式将新的浏览器活动移至后台.

Logcat显示以下信息(观看粗线):

12-13 14:12:02.089: DEBUG/SurfaceFlinger(96): Layer::requestBuffer(this=0x71e430), index=0, pid=3369, w=480, h=90 success
**12-13 14:12:02.109: INFO/ActivityManager(96): Starting activity: Intent { act=android.intent.action.VIEW dat=http://<hostname>/StaticContent/<movie>.mp4 typ=video/mp4 cmp=android/com.android.internal.app.ResolverActivity }**
12-13 14:12:02.119: DEBUG/webkit-timers(3369): [JWebCoreJavaBridge::pause] >> do pause
12-13 14:12:02.119: DEBUG/webviewglue(3369): nativeDestroy view: 0xb59150
**12-13 14:12:02.119: INFO/ActivityManager(96): moveTaskToBack: 67**
12-13 14:12:02.129: DEBUG/SurfaceFlinger(96): Layer::setBuffers(this=0x9032e8), pid=6155, w=480, h=800

有人看到这个问题吗?

解决方法:

将此标志设置为新的意图

yourIntent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
yourIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

标签:android-activity,android
来源: https://codeday.me/bug/20191202/2084925.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有