Я пытаюсь разрешить пользователю оставлять комментарии, когда он отключен, так что всякий раз, когда wifi/internet включается, его комментарий будет опубликован. Что я использую BroadCastReceiver. Но проблема я что это никогда не происходит внутри if (intent.getAction().equals("commentpost"))
, если я пытаюсь включить Wi-Fi после нажатия на postcomment.However он действительно входит в if (wifi.isAvailable() || mobile.isAvailable())
всякий раз, когда я включаю wifi.I не понял, где я иду не так. Мой журнал показывает «Сеть доступна», но никогда не отображается «комментарий для комментариев».Android - Пользовательское действие в Broadcast Intent
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();
}
}
}
}
Manifest
<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>
, где находится фактическое, если вы жалуетесь? – Fred
@Fred Я не понимаю, что означало wht u. – user3684678
Вы сказали, что ваша проблема возникла при входе if if (intent.getAction(). Equals ("beentherecicked")) '', но я не вижу это в коде, который вы опубликовали. – Fred