gpt4 book ai didi

Android - 广播 Intent 中的自定义操作

转载 作者:行者123 更新时间:2023-11-29 20:51:39 25 4
gpt4 key购买 nike

我试图允许用户在离线时发表评论,这样只要打开 wifi/互联网,他的评论就会被发表。因为我正在使用 BroadCastReceiver。但我遇到的问题是它永远不会进行在 if (intent.getAction().equals("commentpost")) 中,如果我在点击 postcomment 后尝试打开 wifi。但是它确实在 if (wifi.isAvailable() | | mobile.isAvailable()) 每当我打开 wifi 时。我不明白我哪里出错了。我的日志显示“网络可用”但从不显示“发表评论”。

    commentpost.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intent = new Intent();
intent.setAction("commentpost");
mContext.sendBroadcast(intent);
}
}


public class NetworkChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, final Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);

final android.net.NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

final android.net.NetworkInfo mobile = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if (wifi.isAvailable() || mobile.isAvailable())
{
Log.e("Network Available", "Flag No 1");
if (intent.getAction().equals("commentpost")) {
Log.e("posting comment", "Flag No 2");
postComment();
}
}
}
}

list

<receiver android:name="xyz.NetworkChangeReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"></action>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
</intent-filter>
</receiver>

最佳答案

您需要将自定义操作添加到 BroadcastReceiverintent-filter 中。只有这样 Intent 才会触发您的 BroadcastReceiver

<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"></action>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="commentpost"/>
</intent-filter>

关于Android - 广播 Intent 中的自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011089/

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