OBJ files do not store textures, hardly anything does - you have to export OBJ, import it to whatever you need it in. Then you need to import textures, create material/shader using the texture and apply it on the OBJ.
Clarifying with some more details:
Applying texture inside blender will only stay in blender. OBJ only has geometry information, mtl has some material data, but no texture information of any sort.
What you usually do is:
- Make object with UV maps,
- Make material,
- Export Object,
- Bake materials into textures,
- Export baked textures.
Then you import it in target environment, be it other 3d software, 3d engine, or anything, and there you re-create material using baked textures and tools available in the environment. Then you apply it onto imported obj.