Android startActivityForResult新活动立即完成使屏幕闪烁

Android startActivityForResult新活动立即完成使屏幕闪烁,android,startactivityforresult,Android,Startactivityforresult,活动A为某些数据启动活动B。B设置数据立即完成。这会使B活动闪烁一次。有没有办法防止闪光 TextToSpeech.java Intent intent = new Intent(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); intent.setPackage(engine); startActivityForResult(intent, VOICE_DATA_INTEGRITY_CHECK); 引擎活动获取请求代码,设置数据并完成。这将使引擎活动显示

活动A为某些数据启动活动B。B设置数据立即完成。这会使B活动闪烁一次。有没有办法防止闪光

TextToSpeech.java

Intent intent = new Intent(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
intent.setPackage(engine);
startActivityForResult(intent, VOICE_DATA_INTEGRITY_CHECK);

引擎活动获取请求代码,设置数据并完成。这将使引擎活动显示->设置数据->完成。看起来像是活动闪现的内容。有没有办法防止这种情况?谢谢。

如果要执行的操作不需要用户界面,则可以使用“服务/内容提供”而不是“活动”

比如:

从活动A调用服务:

startService(new Intent(A.this,BackgroundService.class));

我使用一个延迟来启动tractivityforresult,而不是直接调用它,否则它将显示一个空片段并立即闪烁

可以将intent与finish()一起使用。。。为此,您可以举例说明您所做的工作……
有什么方法可以防止闪存?
什么闪存?我看不到你的消息来源有任何闪现code@GoInterface:在调用finish()之前延迟一段时间()这不是最清楚的问题,但在复制上述内容时,我遇到了屏幕上的“闪光”。非常感谢,我找到了一个解决方法。不是很好,但对我有用。我会把它贴上去。
startService(new Intent(A.this,BackgroundService.class));
public void onCreate() {
    // startActivityForResult(intent, VOICE_DATA_INTEGRITY_CHECK);   
    new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Activity activity = getActivity();
                if (activity != null && !activity.isFinishing() && !activity.isDestroyed()) {
                    startActivityForResult(intent, VOICE_DATA_INTEGRITY_CHECK);
                }
            }
        }, 500);
 }