|
@@ -14,6 +14,9 @@ import com.xplora.xponboarding.R;
|
|
|
import com.xplora.xponboarding.broadcast.SimStateReceiver;
|
|
|
|
|
|
public class SimInstallActivity extends BaseActivity {
|
|
|
+
|
|
|
+ public SimStateReceiver mListener = null;
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
Log.d(TAG, "onCreate: ");
|
|
@@ -37,28 +40,36 @@ public class SimInstallActivity extends BaseActivity {
|
|
|
|
|
|
public void initBroadcast() {
|
|
|
//sim 卡状态变化
|
|
|
- SimStateReceiver listener = new SimStateReceiver();
|
|
|
+ mListener = new SimStateReceiver();
|
|
|
IntentFilter intentFilter = new IntentFilter(SimStateReceiver.ACTION_SIM_STATE_CHANGED);
|
|
|
- registerReceiver(listener, intentFilter);
|
|
|
+ registerReceiver(mListener, intentFilter);
|
|
|
|
|
|
- listener.setOnSimStateListener(new SimStateReceiver.OnSimStateChangeListener() {
|
|
|
+ mListener.setOnSimStateListener(new SimStateReceiver.OnSimStateChangeListener() {
|
|
|
@Override
|
|
|
public void onReceiveSimStateChangeBroadcast(int status) {
|
|
|
if (status == 1) {
|
|
|
//无 sim, 停留本界面
|
|
|
} else if (status == 4){
|
|
|
- unregisterReceiver(listener);
|
|
|
+ unregisterSimStateReceiver();
|
|
|
Intent intent = new Intent(SimInstallActivity.this, SimPinLockedActivity.class);
|
|
|
startActivity(intent);
|
|
|
finish();
|
|
|
} else {
|
|
|
- unregisterReceiver(listener);
|
|
|
+ unregisterSimStateReceiver();
|
|
|
startQRCode();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ public void unregisterSimStateReceiver() {
|
|
|
+ Log.d(TAG, "unregisterSimStateReceiver: ");
|
|
|
+ if (mListener != null) {
|
|
|
+ unregisterReceiver(mListener);
|
|
|
+ mListener = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void restart() {
|
|
|
Log.d(TAG, "restart: ");
|
|
|
restartEx();
|
|
@@ -81,4 +92,11 @@ public class SimInstallActivity extends BaseActivity {
|
|
|
intent.setComponent(componet);
|
|
|
sendBroadcast(intent, "com.xplora.receiver");
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onDestroy() {
|
|
|
+ super.onDestroy();
|
|
|
+ Log.d(TAG, "onDestroy: ");
|
|
|
+ unregisterSimStateReceiver();
|
|
|
+ }
|
|
|
}
|