설정 응용 프로그램에서 네트워크 상태 변경에 대한 메시지를 받으려고합니다. 그것은 다음과 같습니다 : 나는 onResume에 등록 및 등록 해제수정 방법 자격이없는 사용자없이 시스템 프로세스에서 메소드를 호출하면 시스템 android 애플리케이션에서이 오류가 발생합니까?
private BroadcastReceiver mNetwrokStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("NetworkStateReceiver_DEVICE_INFO", "network state changed");
if (isNetworkConnected()) {
Log.d("NetworkStateReceiver_DEVICE_INFO", "network connected");
mHelpPreference.setEnabled(true);
} else {
mHelpPreference.setEnabled(false);
Log.d("NetworkStateReceiver_DEVICE_INFO", "network disconnected");
}
}
};
: 나는 DeviceInfoFragment에 메시지를 보내려고하고있어이 수신기에서
<receiver android:name="com.android.settings.NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
public class NetworkStateReceiver extends BroadcastReceiver
{
public static final String TAG = "NetworkStateReceiver";
public static final String NETWORK_CHANGED_ACTION = "com.android.settings.NetworkStateReceiver.NETWORK_CHANGED";
@Override
public void onReceive(Context context, Intent intent)
{
Log.d(TAG, "Network state changed");
Intent i = new Intent();
i.setAction(NETWORK_CHANGED_ACTION);
context.sendBroadcast(i);
}
}
,이 방송을 캐치 할 필요 수신기가 inPause.
하지만이 줄 NetworkStateReceiver에 오류가 발생했습니다 : 그것을 해결하기 위해 어떤 방법이
context.sendBroadcast(i);
자격을 갖춘 사용자
없이 시스템 프로세스에서 메소드를 호출인가?
, 당신은'INTERACT_ACROSS_USERS' 권한을 했습니까 – Pein
작동하지 않습니다 시도? – fluffyBatman
허락을 받아서 시도해보십시오. ( – Pein