如何在Service类中使用overridePendingTransition启动一个Activity?

3

我无法在服务类中执行overridePendingTransition以启动Activity。我正在从服务类打开一个Activity,它可以正常工作,但我想以转换方式启动该Activity。 这段代码写在服务类中。

Intent intent = new Intent(Activity1.this, Activity2.class);
startActivity(intent);
activity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);

但是overridePendingTransition没有起作用,它显示了一个错误日志。

"android.app.Application cannot be cast to android.app.Activity"

提前感谢您!

2个回答

5
尝试在你的Activity的OnCreate()方法中使用overridePendingTransition(R.anim.fade_out,R.anim.fade_in);这样无论从哪里调用,它都会进行动画。

在super.onCreate(savedInstanceState)之后使用它。 - Abhinav Aggarwal
1
为了使其正常工作,我必须在super.onCreate()之前使用它。 - rjr-apps

0
你需要在你的活动实例上调用overridePendingTransition方法,看起来这里的活动是你的应用程序实例。

Android Studio不允许我直接在Service类中编写代码。它显示了一个错误信息,说无法解析'overridePendingTransition'。 - Arslan Javed
编辑了答案。 - phoenix
你的Activity1和Activity2是什么? - phoenix
Activity1是一个服务类,而Activity2则是一个活动。它在没有overridePendingTransition的情况下运行完美,但我希望能够平稳地调用Activity2。 - Arslan Javed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接