startActivityForResult新活动毫不留情地完成使屏幕闪烁

时间:2016-02-16 08:04:41

标签: 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);

引擎活动获取requestCode,设置数据并完成。这使得引擎活动显示 - > setdata - >完。什么看起来像一个活动闪过。有什么方法可以防止这种情况吗?谢谢。

2 个答案:

答案 0 :(得分:0)

如果您要执行的操作不必对用户界面执行任何操作,则可以使用Service / Content-Provide而不是Activity。

像:

import android.app.Service;
import android.content.Intent;
import android.os.Binder;

import android.os.IBinder;

public class BackgroundService extends Service {


    private final IBinder mBinder = new LocalBinder();

    public class LocalBinder extends Binder {
        BackgroundService getService() {
            return BackgroundService.this;
        }
    }


    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

    @Override
    public IBinder onBind(Intent intent) {
        return mBinder;
    }
}

从活动A调用服务:

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

答案 1 :(得分:0)

selectedDates

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