gpt4 book ai didi

android - 我需要启动 compareToIgnoreCase 吗?

转载 作者:行者123 更新时间:2023-11-29 18:54:20 24 4
gpt4 key购买 nike

我在 AndroidManifest.xml 中使用代码 A 注册了一个接收器。

Code B会在手机重启后处理一些事情。

我想我可以移动代码if (intent != null && intent.getAction() != null && ACTION.compareToIgnoreCase(intent.getAction()) == 0)就像代码 C。

我认为 public void onReceive(Context context, Intent intent)因为我设置了<intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" />所以手机重启后才会启动

对吧?

代码A

<receiver android:name="bll.CleanupBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

代码B

public class CleanupBootReceiver  extends BroadcastReceiver{

private static final String ACTION = "android.intent.action.BOOT_COMPLETED";

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent != null && intent.getAction() != null && ACTION.compareToIgnoreCase(intent.getAction()) == 0) {
//To Do...
}
}

}

代码 C

public class CleanupBootReceiver  extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//To Do...
}

}

最佳答案

I think I can move the code if (intent != null && intent.getAction() != null && ACTION.compareToIgnoreCase(intent.getAction()) == 0) just like Code C.

是的,您可以,因为您仅将接收器用于一个 intent-filter 操作。

但是您的广播接收器仍然可以使用像

这样的显式事件来触发
sendBroadcast(new Intent(context, CleanupBootReceiver.class)

所以保持条件匹配是个好主意,尽管我建议您使用 equalsIgnoreCase 而不是 compareToIgnoreCase

I think that public void onReceive(Context context, Intent intent) will be launched only after mobile phone restart because I have set

<intent-filter>  <action android:name="android.intent.action.BOOT_COMPLETED" />

是的,尽管 must read : Background Execution Limits

关于android - 我需要启动 compareToIgnoreCase 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50227047/

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