gpt4 book ai didi

android - 锁定时从后台重新打开应用程序

转载 作者:行者123 更新时间:2023-11-30 02:55:50 26 4
gpt4 key购买 nike

我有以下代码来打开应用程序,解锁后它会在前台显示我的应用程序。这是代码:

if (AppStatus.isActivityVisible() == false) {
PowerManager pm = (PowerManager) mActivity
.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.FULL_WAKE_LOCK, "SipManager");
wl.acquire();
try {
Intent it = new Intent("intent.my.action");
it.setComponent(new ComponentName(mActivity.getPackageName(),
MainActivity.class.getName()));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.getApplicationContext().startActivity(it);
} finally {
wl.release();
}
}

这对我有用,但它开始了一项新 Activity 。我有 FLAG_ACTIVITY_NEW_TASK 的原因是因为当我使用类似 FLAG_ACTIVITY_REORDER_TO_FRONT 的东西时它会抛出这个错误:

Calling startActivity() from outside of an Activity context requires FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

有没有办法将处于后台的 Activity 拉到前面,或者在应用程序关闭时启动一个新的 Activity?

我尝试添加 setAction(Intent.ACTION_MAIN);addCategory(Intent.CATEGORY_LAUNCHER); 但没有成功。

谢谢你的帮助

最佳答案

您还需要一些东西:

在您的 manifest.xml 中,确保您设置了您的 Activity 启动模式

   <activity
android:name="com.att.attbusiness.PlanDetailsActivity"
android:launchMode="singleTop">
</activity>

然后,当您想从堆栈中获取 Activity 或开始一个新 Activity 时:

Intent i = new Intent(mContext, PlanDetailsActivity.class);
Bundle bundle = new Bundle();
i.putExtras(bundle);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

您可能还需要覆盖 OnNewIntent()

   @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);

Bundle extras = getIntent().getExtras();
...

}

关于android - 锁定时从后台重新打开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23279015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com