2017-01-23 33 views
1

我有一个问题,当我锁定我的手机并解锁一个活动总是调用onCreate。也许有人可以帮助我?这是我的创造,也许我做了一些错误的,这就是一个onCreate。在创建是在我的应用程序调用的时候是第一次应用程序,当我解开一个电话,但是当我mminimalize我的应用程序,并打开一个应用我的应用程序调用的onResumeJava安卓onCreate始终呼吁

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_table); 

     MainActivity.logOut = true; 
//  i = new Intent(getApplicationContext(), Sync.class); 
//  startService(i); 
     getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
     columns.add("nazwa"); 
     columns.add("start"); 
     sp = getSharedPreferences("pfref", Activity.MODE_PRIVATE); 
     editor = sp.edit(); 

     placeholder = (TextView) findViewById(R.id.list_placeholder); 
     buttonsHolder = new ArrayList<>(); 
     resultReceiver = new MyResultReceiver(new Handler()); 
     initializeView(); 
     swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout); 
     managerDB = ManagerDB.getInstance(getApplicationContext(), "name"); 
     progressBar = (ProgressBar) findViewById(R.id.pbWheel); 
     tasks = new ArrayList<>(); 
     tasks.clear(); 
     btShowAll.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       routeDetailsShow(); 
      } 
     }); 
     btNotDone = (Button) findViewById(R.id.all_items_not_done); 
     btPhotoToSend = (Button) findViewById(R.id.bt_photo_to_send); 
     btShowAllNotes = (Button) findViewById(R.id.bt_show_all_note); 
     imgIsSend = (ImageView) findViewById(R.id.send); 
     imgIsNet = (ImageView) findViewById(R.id.net); 
     if (!MainActivity.xmlList.isEmpty()) { 
      imgIsSend.setImageResource(R.drawable.red_arrow); 
     } else { 
      imgIsSend.setImageResource(R.drawable.green_arrow); 
     } 
     if (sp.getBoolean("serverOff", false) || sp.getBoolean("workOffLine", false)) { 
      imgIsNet.setVisibility(View.VISIBLE); 
     } else { 
      imgIsNet.setVisibility(View.GONE); 
     } 
     btSort = (Button) this.findViewById(R.id.static_filter); 
     btSort.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if (!isSort) 
        showChangeLangDialog(); 
       else { 
        tasks.clear(); 
        if (!isFiltr) { 
         getAllTasks(); 
        } else { 
         getAllTasks2(column[0], sort[0], filtrText); 
        } 
        Page page = config.getItems().get(0).getPages().get(0); 
        myAdapter = new NewDataAdapter(MainActivity.this, parseWyborTrasyToDataRow(tasks), page); 
        lista.setAdapter(myAdapter); 
        isSort = false; 
        btSort.setTextColor(Color.BLACK); 
        btSort.setText("Sortowanie"); 
       } 
      } 
     }); 


     btFiltr = (Button) findViewById(R.id.static_filter2); 
     btFiltr.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if (!isFiltr) { 
        showChangeLangDialog2(); 
       } else { 
        tasks.clear(); 
        if (!isSort) { 
         getAllTasks(); 
        } else { 
         getAllTasks1(sortColumn[0], sort[0]); 
        } 
        Page page = config.getItems().get(0).getPages().get(0); 
        myAdapter = new NewDataAdapter(MainActivity.this, parseWyborTrasyToDataRow(tasks), page); 
        lista.setAdapter(myAdapter); 
        isFiltr = false; 
        btFiltr.setTextColor(Color.BLACK); 
        btFiltr.setText("Filtrowanie"); 

       } 
      } 
     }); 

     btShowAllNotes.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       showAllNotes(); 
      } 
     }); 

     btShowAll.setEnabled(false); 
     btNotDone.setEnabled(false); 

     Gson gson = new Gson(); 
     List<File> productFromShared = new ArrayList<>(); 
     SharedPreferences sharedPref = getApplicationContext().getSharedPreferences("TAG", Context.MODE_PRIVATE); 
     String jsonPreferences = sharedPref.getString("TAG", ""); 

     Type type = new TypeToken<List<File>>() { 
     }.getType(); 
     productFromShared = gson.fromJson(jsonPreferences, type); 
     photoListSend = null; 
     photoListSend = new ArrayList<>(); 
     if (productFromShared != null) 
      photoListSend.addAll(productFromShared); 

     List<String> productFromShared1 = new ArrayList<>(); 
     String jsonPreferences1 = sharedPref.getString("TAG1", ""); 

     Type type1 = new TypeToken<List<String>>() { 
     }.getType(); 
     productFromShared1 = gson.fromJson(jsonPreferences1, type1); 
     MainActivity.xmlList = null; 
     MainActivity.xmlList = new ArrayList<>(); 
     if (productFromShared1 != null) 
      xmlList.addAll(productFromShared1); 


     btPhotoToSend.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (!isSend) { 
        photoList(); 
       } else { 
        Toast.makeText(MainActivity.this, "Trwa wysyłanie zdjęć ", Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 

     btNotDone.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       notDone(); 
      } 
     }); 
     lista.setOnScrollListener(new AbsListView.OnScrollListener() { 
      @Override 
      public void onScrollStateChanged(AbsListView view, int scrollState) { 
      } 

      @Override 
      public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
       boolean enable = false; 
       if (lista != null && lista.getChildCount() > 0) { 
        boolean firstItemVisible = lista.getFirstVisiblePosition() == 0; 
        boolean topOfFirstItemVisible = lista.getChildAt(0).getTop() == 0; 
        enable = firstItemVisible && topOfFirstItemVisible; 
       } 
       swipeRefreshLayout.setEnabled(enable); 
      } 
     }); 

     observer = new ContentObserver(new Handler(Looper.myLooper())) { 
      public void onChange(boolean selfChange) { 
       swipeRefreshLayout.setRefreshing(false); 
       CheckerThread1 thread = new CheckerThread1(getApplicationContext()); 
       thread.execute(); 
       GPSTracker.getInstance(getApplicationContext()); 
      } 
     }; 
     failureObserver = new ContentObserver(new Handler(Looper.myLooper())) { 
      @Override 
      public void onChange(boolean selfChange) { 
       swipeRefreshLayout.setRefreshing(false); 
      } 
     }; 

     placeholder.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View view, MotionEvent event) { 
       if (NetworkUtils.isNetworkAvailable(getApplicationContext())) { 
        if (event.getAction() == MotionEvent.ACTION_DOWN) { 
         CheckerThread1 thread = new CheckerThread1(getApplicationContext()); 
         thread.execute(); 
         GPSTracker.getInstance(getApplicationContext()); 
         isRefresh = true; 
         swipeRefreshLayout.setRefreshing(true); 
         showPlaceholder(myAdapter); 
        } 
       } else { 
        swipeRefreshLayout.setRefreshing(false); 
        Toast.makeText(getApplicationContext(), "Nie ma dostępu do internetu", Toast.LENGTH_LONG).show(); 
       } 
       return false; 
      } 
     }); 

//  placeholder.setOnTouchListener((v, event) -> { 
//   if (NetworkUtils.isNetworkAvailable(getApplicationContext())) { 
//    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
//     CheckerThread1 thread = new CheckerThread1(getApplicationContext()); 
//     thread.execute(); 
//     GPSTracker.getInstance(getApplicationContext()); 
//     isRefresh = true; 
//     swipeRefreshLayout.setRefreshing(true); 
//    } 
//   } else { 
//    swipeRefreshLayout.setRefreshing(false); 
//    Toast.makeText(getApplicationContext(), "Nie ma dostępu do internetu", Toast.LENGTH_LONG).show(); 
//   } 
//   return false; 
//  }); 

     swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
      @Override 
      public void onRefresh() { 
       isSwipe = true; 
       if (NetworkUtils.isNetworkAvailable(getApplicationContext())) { 
        CheckerThread thread = new CheckerThread(getApplicationContext()); 
        thread.execute(); 
        GPSTracker.getInstance(getApplicationContext()); 
        isRefresh = true; 
        swipeRefreshLayout.setRefreshing(true); 
       } else { 
        isRefresh = false; 
        swipeRefreshLayout.setRefreshing(false); 
        Toast.makeText(getApplicationContext(), "Nie ma dostępu do internetu", Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 
     View view = this.getCurrentFocus(); 
     if (view != null) { 
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
     } 
     if (LoginActivity.showProgresBar) { 
//   LoginActivity.showProgresBar = true; 
      CheckerThread thread = new CheckerThread(this); 
      thread.execute(); 
      showProgresBar = false; 
      GPSTracker.getInstance(this); 
     } else { 
      if (config != null) { 
       gpsSwitchOnly = true; 
       setCaption(); 
       refreshTables(); 
       if (!SyncConnection.running) { 
        fireUpSync(config.getSync()); 
       } 
      } 
     } 
    } 

清单:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.eltegps022.smokkomunal"> 

    <uses-feature android:name="android.hardware.camera" /> 
    <uses-feature android:name="android.hardware.camera.autofocus" /> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".Activity.LoginActivity" 
      android:windowSoftInputMode="stateVisible|adjustResize"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activity.AdminPanelActivity" 
      android:windowSoftInputMode="stateVisible|adjustResize" /> 
     <activity 
      android:name=".Activity.MainActivity" 
      android:screenOrientation="landscape" 
      android:windowSoftInputMode="stateHidden|adjustResize" /> 

     <service 
      android:name=".sync.SyncOnceConnection" 
      android:singleUser="true" /> 
     <service 
      android:name=".sync.SyncOnceConnection" 
      android:singleUser="true" /> 
     <service android:name=".photos.PhotoSender" /> 

     <activity 
      android:name=".Activity.RouteDetailsActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.NotePGOActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.SignatureActivity" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.PhotoListActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.ConfirmPGOActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.DetailsPGOActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.ConfirmDetailsPGOActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.ExtraCargoActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.NoteToCargoActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 

     <service android:name=".Service.Sendrer" /> 
     <service android:name=".Service.SenderXML" /> 
     <service android:name=".Service.Sync" /> 


     <activity 
      android:name=".Activity.RouteDetailsNotDoneActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.PhotoListToSendActivity" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.ShowAllNoteActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <activity 
      android:name=".Activity.ShowAllNotesActivity" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:screenOrientation="landscape" /> 
     <provider 
      android:name="android.support.v4.content.FileProvider" 
      android:authorities="${applicationId}.provider" 
      android:exported="false" 
      android:grantUriPermissions="true"> 
      <meta-data 
       android:name="android.support.FILE_PROVIDER_PATHS" 
       android:resource="@xml/provider_paths"/> 
     </provider> 
    </application> 

</manifest> 
+0

检查此生命周期 - http://stackoverflow.com/questions/19205049/android-activity-lifecycle-and-locking-unlocking-device – Rahul

+0

发布您的整个班级和清单文件以及 – ChaitanyaAtkuri

+0

当然,这是它必须做的 – firegloves

回答

0

我改变我的清单:我补充一点:android:configChanges="orientation|keyboardHidden|screenSize" 因为:

要声明你的活动处理的配置变化,在你的清单文件编辑相应的元素包括了android:configChanges一个值代表属性不满意你想要处理的配置。 android:configChanges属性的文档中列出了可能的值(最常用的值是“orientation”以防止屏幕方向更改时重新启动,而“keyboardHidden”防止键盘可用性更改时重新启动)。您可以通过使用管道分隔它们来在属性中声明多个配置值字符。