0

我正在尝试制作一个用户可以呼叫他的朋友的应用程序,但是为了避免用户使用来自 android 的本机呼叫意图,我启动本机意图并使用广播接收器将我以前的应用程序恢复到它所在的屏幕模拟带有挂断按钮、扬声器按钮等的呼叫屏幕...

但是,我的广播接收器位于另一个 APK 中(出于架构原因)......我怎样才能恢复我以前的 APK 的状态?实际上我正在尝试使用此代码,但它不会恢复我的活动,它会创建一个新的,丢失旧数据

PackageManager packageManager = context.getPackageManager();
Intent i= packageManager.getLaunchIntentForPackage("path.to.package");
i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
context.startActivity(i);
4

2 回答 2

1

I solved it... I changed my flag to FLAG_ACTIVITY_SINGLE_TOP

Final code:

PackageManager packageManager = context.getPackageManager();
Intent i= packageManager.getLaunchIntentForPackage("path.to.package");
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(i);
于 2013-06-19T22:37:23.793 回答
1

我认为你可能需要你的活动是一个单一的实例,所以不是每次都创建一个新的,只要你还没有杀死它,它就会尝试重用一个已经启动的活动,你需要阅读更多关于单实例或单任务活动取决于适合您的问题,看看这个问题,希望它会有所帮助......

Android singleTask 还是 singleInstance 启动模式?

问候!

于 2013-06-19T19:28:57.867 回答