4.1 KiB
Photo Saver - Android App
An Android application that allows you to save photos to a custom directory by sharing them to the app.
Features
- Share photos from any app (Gallery, Camera, Browser, etc.)
- Choose a custom directory to save the photo
- Simple and easy to use
- Written in Java for easy modification
How to Use
- Install the app on your Android device
- When viewing a photo in any app, long-press and select "Share"
- Choose "Photo Saver" from the share menu
- A directory picker will appear - navigate to the folder where you want to save the photo
- Select the folder and the photo will be saved there automatically
Important for QQ/WeChat users:
- After installing Photo Saver, you may need to restart QQ/WeChat for the app to appear in the share menu
- If it still doesn't appear, try restarting your phone
- The app now supports all major Chinese apps including QQ, WeChat, and others
App Compatibility
Photo Saver works with:
- ✅ QQ - Share photos from chats and moments
- ✅ WeChat - Share photos from conversations
- ✅ Gallery apps - Any photo viewer
- ✅ Camera apps - Save photos after capturing
- ✅ Browsers - Save images from websites
- ✅ Social media - Instagram, Facebook, Twitter, Weibo, etc.
- ✅ Any app with standard Android share function
Project Structure
PhotoSaver/
├── app/
│ ├── src/
│ │ └── main/
│ │ ├── java/com/example/photosaver/
│ │ │ └── MainActivity.java # Main activity handling photo sharing
│ │ ├── res/
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml # Main layout
│ │ │ └── values/
│ │ │ ├── strings.xml # String resources
│ │ │ └── styles.xml # App styles
│ │ └── AndroidManifest.xml # App manifest with share intent
│ └── build.gradle # App build configuration
├── build.gradle # Project build configuration
└── settings.gradle # Project settings
Building the App
Prerequisites
- Android Studio (Arctic Fox or later)
- Android SDK (API level 21 or higher)
- JDK 8 or later
Steps
- Open Android Studio
- Select "Open an Existing Project"
- Navigate to the PhotoSaver folder and open it
- Wait for Gradle to sync
- Connect your Android device or start an emulator
- Click the "Run" button (green triangle) or press Shift+F10
Customization
You can easily modify the code to suit your needs:
Change the filename format
In MainActivity.java, find this line:
String filename = "photo_" + System.currentTimeMillis() + ".jpg";
You can change it to:
// Use date format
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US);
String filename = "IMG_" + sdf.format(new Date()) + ".jpg";
Set a default directory
If you want to skip the directory picker and always save to a specific folder, you can modify the app to remember the last selected directory using SharedPreferences.
Add file naming dialog
You could add a dialog to let users type a custom filename before saving.
Permissions
The app requires the following permissions:
READ_EXTERNAL_STORAGE- To read the shared photoWRITE_EXTERNAL_STORAGE- Only for Android 9 and below
For Android 10+, the app uses Scoped Storage and doesn't need storage permissions.
Minimum Requirements
- Android 5.0 (API level 21) or higher
- Approximately 5MB of storage space
Troubleshooting
App doesn't appear in share menu:
- Make sure the app is installed correctly
- Try restarting your device
Can't save to certain folders:
- Some system folders may be protected
- Try selecting a different folder like Pictures or Downloads
File saves but can't find it:
- Check the folder you selected in the directory picker
- The filename format is:
photo_[timestamp].jpg
License
This project is provided as-is for educational and personal use.