开始活动结果新活动立即完成使屏幕闪烁



活动 A 启动某些数据的活动 B。B设置数据立即完成。这使 B 活动闪烁一次。有什么方法可以防止闪光吗?

文本到语音.java

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

引擎活动获取请求代码,设置数据并完成。这使得引擎活动显示 -> setdata ->完成。看起来像是活动的东西闪了一下。有什么办法可以防止这种情况吗?谢谢。

如果要执行的操作不必对用户界面执行任何操作,则可以使用"服务/内容-提供"而不是"活动"。

喜欢:

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));
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);
 }

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

相关内容

  • 没有找到相关文章

最新更新