GithubHelp home page GithubHelp logo

dirkam / backgroundable-android Goto Github PK

View Code? Open in Web Editor NEW
294.0 29.0 33.0 9 KB

Collection of stock apps and mechanisms, which might affect background tasks and scheduled alarms.

License: MIT License

android battery background alarmmanager job-scheduler battery-saving auto-startup

backgroundable-android's Introduction

Backgroundable Android

Collection of stock apps and mechanisms from various manufacturers, which might affect background tasks and scheduled alarms with AlarmManager, etc., or apps in background in general. Also focusing on those, which prevent 3rd party apps from auto start after device boot.

Why?

Most of modern Android devices come with an app or mechanism, which automagically tries to figure out how to save battery and as a result might kill certain 3rd party apps. This might result in removing scheduled tasks and jobs, (e.g. alarms not going off, push notification not working, etc.). In many cases this happens completely independent from battery saving mechanisms of Android (such as Doze, which can be controlled correctly).

How?

Though battery saving is important and 3rd party apps should be designed with this in mind, if the basic function of an app requires it to be kept running in the background then there should be a way to add it to exception lists. Unfortunately, in most cases, this is not possible from within the app itself. However, in many cases, there are white lists where users can manually add certain 3rd party apps. This list is a repository of known battery saving apps and mechanisms along with an Intent (or at least a Step-by-step guide), which can be started/shown to navigate the user to the relevant settings menu directly.

How to contribute?

Open an issue or pull request if you found something wrong or have a new one to add. Please try to follow the following structure:

Name of the app or mechanism

Manufacturer: Name of the manufacturer.

Build.MANUFACTURER: Sometimes the device returns a completely different manufacturer name from what one would expect.

Build.MODEL: Sometimes it is only related to certain devices (or not related to certain devices).

Known restrictions: If there is any known restriction (e.g. SDK version)

Steps: Step-by-step guide how one can find it in on the device.

Intents: Intents that can be started from the app to navigate the user directly to the settings.

Information below or in any other part of this repository might be incorrect or not 100% accurate. Always try to double check it and use at your own risk.

What's known

Samsung Unmonitored Apps (7.0+)

Manufacturer: Samsung

Build.MANUFACTURER: samsung

Build.MODEL: Applies to all

Known restrictions: Android 7.0+ only

Steps:

  1. Settings
  2. Device maintenance
  3. Battery
  4. Unmonitored apps list

Intents:

new Intent().setComponent(new ComponentName("com.samsung.android.lool",
                        "com.samsung.android.sm.ui.battery.BatteryActivity"))

Huawei Protected Apps (EMUI < 5)

Manufacturer: Huawei

Build.MANUFACTURER: huawei

Build.MODEL: NOT nexus

Known restrictions: Not applies to Huawei Nexus devices (which run stock Android). Up to Android 7.

Steps:

  1. Settings
  2. Advanced Settings
  3. Battery Manager
  4. Protected Apps

or

  1. Settings
  2. Privacy and Security
  3. Protected Apps

Intents:

new Intent().setComponent(new ComponentName("com.huawei.systemmanager",
                        "com.huawei.systemmanager.optimize.process.ProtectActivity"))

Huawei Phone manager (EMUI 5)

Manufacturer: Huawei

Build.MANUFACTURER: huawei

Build.MODEL: NOT nexus

Known restrictions: Not applies to Huawei Nexus devices (which run stock Android). From Android 7.

Steps:

  1. Phone Manager
  2. Lock screen cleanup
  3. Make sure App is NOT enabled (unchecked)

or

  1. Settings
  2. Battery
  3. Lock screen cleanup
  4. Set App to 'Don't close' (unchecked)

Intents:

getPackageManager().getLaunchIntentForPackage("com.huawei.systemmanager")

Sony STAMINA

Manufacturer: Sony

Build.MANUFACTURER: sony

Build.MODEL: Applies to all

Known restrictions: Some old Android (4.something) versions don't have this feature.

Steps:

  1. Settings
  2. Power management
  3. STAMINA mode
  4. Apps active in standby

Intents:

//TODO

Xiaomi Auto Start and Battery usage monitoring and Power settings

Manufacturer: Xiaomi

Build.MANUFACTURER: xiaomi

Build.MODEL: Applies to all (running MIUI)

Known restrictions: Applies to devices running MIUI (not the ones with Android One)

Steps:

  1. Settings
  2. Additional Settings
  3. Battery & Performance
  4. Manage Apps Battery Usage
  5. Choose Apps
  6. No restrictions

and

  1. Settings
  2. Permissions
  3. Auto-run management

and

  1. Settings
  2. Additional Settings
  3. Battery & Performance
  4. Power
  5. Settings button
  6. Disable internet -> Never

Intents:

new Intent("miui.intent.action.POWER_HIDE_MODE_APP_LIST").addCategory(Intent.CATEGORY_DEFAULT)
new Intent("miui.intent.action.OP_AUTO_START").addCategory(Intent.CATEGORY_DEFAULT)
new Intent().setComponent(ComponentName("com.miui.securitycenter", "com.miui.powercenter.PowerSettings"))

Elephone background task clearer

Manufacturer: Elephone

Build.MANUFACTURER: elephone

Build.MODEL: Applies to all

Known restrictions: Not known

Steps:

  1. Settings
  2. Background task clear
  3. White list

Intents:

//TODO

ASUS auto start

Manufacturer: ASUS

Build.MANUFACTURER: asus

Build.MODEL: Applies to all

Known restrictions: Asus mobile manager app installed

Steps:

  1. Asus Mobile Manager
  2. Auto-start Manager

Intents:

getPackageManager().getLaunchIntentForPackage("com.asus.mobilemanager")

OPPO Auto Start

Manufacturer: OPPO

Build.MANUFACTURER: oppo

Build.MODEL: Applies to all

Known restrictions: ColorOS 3+ (Android 7+)

Steps:

  1. Phone Manager
  2. Privacy Permissions
  3. Startup Manager

Intents:

getPackageManager().getLaunchIntentForPackage("com.color.safecenter");

backgroundable-android's People

Contributors

dirkam avatar rostopira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

backgroundable-android's Issues

HTC Boost+

There's the HTC Boost+ app - it's an extra app, can be started from the launcher, or with an intent: new Intent().setComponent(ComponentName("com.htc.pitroad", "com.htc.pitroad.landingpage.activity.LandingPageActivity"))
Then select "Manage background apps" (or similar, unsure about the localization here). Can turn off the mechanism completely, or set app-by-app whether background execution should be

  • allowed
  • forbidden
  • forbidden after 3 days of not-foreground.

Can't launch the background app management activity directly. I have no idea which HTC models specifically are concerned.

Tecno and Infinix

Hi,

Thank you for developing this library. Have you been able to add more manufacturers? I am specifically looking for Tecno and Infinix. I am building an app in Africa and they are the biggest OEMs here. like 70% of my user base can not receive notifications.

If not, do you have any ideas on how to get the intent I need to call for this 2 OEMs. i have searched for contacts to their developer support and i don't think it exists.

Please let me know if you can help.

Regards
Simon

Intents for a few devices

Thanks for maintaining this very useful resource. I'd like to contribute some notes about intents for opening power management apps on a few devices:

Huawei Ascend Y330 (Android 4.2.2, EmotionUI 2.0):

am start com.huawei.systemmanager/.power.HwPowerManagerActivity opens power saving section of system settings/battery section of Phone Manager. From there, "Protected apps" opens list of protected apps and "Bkgd power-intensive apps" opens list of power-intensive apps.

am start com.huawei.systemmanager/.optimize.process.ProtectActivity opens list of protected apps directly.

am start com.huawei.systemmanager/.power.PowerConsumeBackgroundActivity opens list of power-intensive apps directly.

am start com.huawei.systemmanager/.optimize.bootstart.BootStartActivity opens list of apps that can run at system boot.

am start com.huawei.systemmanager/.optimize.ProcessManageActivity opens list of apps currently running in the background. Apps can be selected and killed.

Huawei P8 Lite 2015 (Android 5.0.1, EMUI 3.1):

am start com.huawei.systemmanager/.power.ui.HwPowerManagerActivity opens power saving section of system settings/Phone Manager. From there, "Protected apps" opens list of protected apps and "Power-intensive apps" opens list of power-intensive apps.

am start com.huawei.systemmanager/.optimize.process.ProtectActivity opens list of protected apps directly.

Huawei P8 Lite 2017 (Android 7.0, EMUI 5.0.1):

am start com.huawei.systemmanager/.power.ui.HwPowerManagerActivity opens battery section of system settings/Phone Manager. From there, "Close apps after screen lock" opens lock screen cleanup list, and "Power-intensive apps" opens list of power-intensive apps.

am start com.huawei.systemmanager/.optimize.process.ProtectActivity opens lock screen cleanup list directly. This works the same way as the protected apps list on older versions of EMUI, but it's a blacklist rather than a whitelist.

Samsung Galaxy J3 2016 (Android 5.1.1):

am start com.samsung.android.sm/.ui.battery.BatteryActivity opens battery section of system settings. From there, "App optimisation > Detail" opens list of apps that will be killed after 3 days in the background without being used.

Sony Xperia Z3 Compact (Android 6.0.1):

am start -a android.settings.BATTERY_SAVER_SETTINGS opens battery section of system settings. From there, "Menu > Battery optimisation" opens list of protected apps.

Vivo Y11 (Android 4.4.4, Funtouch OS 2.0):

am start com.iqoo.secure/.MainGuideActivity opens iManager app. From there, "Power manager" opens battery settings and "App manager > Autostart manager" opens list of apps that can auto-start (presumably, run at system boot).

am start com.iqoo.secure/.ui.powersaving.PowerSavingManagerActivity opens battery settings directly.

am start com.iqoo.secure/.ui.phoneoptimize.AddWhiteListActivity opens an app whitelist, which doesn't seem to be reachable through the normal UI. This list protects apps from the iManager app's optimisation button.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.