The PNG fileformat stores the image data in compressed form. Changing just one byte somewhere probably invalidates an internal checksum, resulting in an invalid image, so you can't do that. In addition to that, each PNG chunk is protected by a 32-bit CRC checksum, so any modification to any part of the file requires updating at least the checksum to the chunk you modify
If you want to modify the pixels of the image it will be easier to decode the PNG data first, using libraries that are available to you, like BitmapFactory and Bitmap on Android.
Bitmap png = BitmapFactory.decodeFile(selectedImagePath);
png.setPixel(34,43,0xFFFF0000);