【例子介绍】java Android仿小米系统级推送
【相关图片】
【源码结构】
.
├── MiPushFramework-master
│ ├── CONTRIBUTION.md
│ ├── LICENSE
│ ├── README.md
│ ├── app
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── ic_app-web.png
│ │ ├── ic_launcher-web.png
│ │ ├── java
│ │ │ ├── android
│ │ │ │ └── support
│ │ │ │ └── design
│ │ │ │ ├── internal
│ │ │ │ │ ├── BaselineLayout.java
│ │ │ │ │ ├── BottomNavigationAnimationHelperBase.java
│ │ │ │ │ ├── BottomNavigationAnimationHelperKitkat.java
│ │ │ │ │ ├── BottomNavigationItemView.java
│ │ │ │ │ ├── BottomNavigationMenu.java
│ │ │ │ │ ├── BottomNavigationMenuView.java
│ │ │ │ │ ├── BottomNavigationPresenter.java
│ │ │ │ │ └── TextScale.java
│ │ │ │ └── widget
│ │ │ │ ├── BottomNavigationView.java
│ │ │ │ └── ThemeUtils.java
│ │ │ ├── com
│ │ │ │ └── android
│ │ │ │ └── settings
│ │ │ │ ├── AppHeader.java
│ │ │ │ ├── applications
│ │ │ │ │ └── LayoutPreference.java
│ │ │ │ └── widget
│ │ │ │ └── EntityHeaderController.java
│ │ │ └── top
│ │ │ └── trumeet
│ │ │ └── mipushframework
│ │ │ ├── MainActivity.java
│ │ │ ├── MainFragment.java
│ │ │ ├── MiPushFramework.java
│ │ │ ├── control
│ │ │ │ ├── CheckPermissionsUtils.java
│ │ │ │ ├── ConnectFailUtils.java
│ │ │ │ ├── FragmentBroadcast.java
│ │ │ │ └── OnConnectStatusChangedListener.java
│ │ │ ├── debug
│ │ │ │ └── IdJob.java
│ │ │ ├── event
│ │ │ │ ├── EventFragment.java
│ │ │ │ ├── EventItemBinder.java
│ │ │ │ └── RecentActivityActivity.java
│ │ │ ├── help
│ │ │ │ ├── Article.java
│ │ │ │ ├── HelpActivity.java
│ │ │ │ └── SupportFragment.java
│ │ │ ├── models
│ │ │ │ └── ActivityResultAndPermissionResult.java
│ │ │ ├── permissions
│ │ │ │ └── ManagePermissionsActivity.java
│ │ │ ├── plugin
│ │ │ │ ├── PluginAuth.java
│ │ │ │ ├── PluginController.java
│ │ │ │ └── PushServiceAPIProvider.java
│ │ │ ├── register
│ │ │ │ ├── RegisteredApplicationBinder.java
│ │ │ │ └── RegisteredApplicationFragment.java
│ │ │ ├── settings
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── SettingsFragment.java
│ │ │ ├── utils
│ │ │ │ ├── BaseAppsBinder.java
│ │ │ │ ├── MiPushManifestChecker.java
│ │ │ │ ├── OnLoadMoreListener.java
│ │ │ │ ├── ParseUtils.java
│ │ │ │ ├── ShellUtils.java
│ │ │ │ └── ViewUtils.java
│ │ │ ├── widgets
│ │ │ │ ├── Footer.java
│ │ │ │ ├── FooterItemBinder.java
│ │ │ │ └── InfoPreference.java
│ │ │ └── wizard
│ │ │ ├── CheckRunInBackgroundActivity.java
│ │ │ ├── FinishWizardActivity.java
│ │ │ ├── PushControllerWizardActivity.java
│ │ │ ├── UsageStatsPermissionActivity.java
│ │ │ ├── WelcomeActivity.java
│ │ │ ├── WizardSPUtils.java
│ │ │ └── WizardUtils.java
│ │ └── res
│ │ ├── article_can_not_receive_push.md
│ │ ├── color
│ │ │ └── nav_color_select.xml
│ │ ├── drawable
│ │ │ ├── design_bottom_navigation_item_background.xml
│ │ │ ├── ic_apps_black_24dp.xml
│ │ │ ├── ic_check_black_24dp.xml
│ │ │ ├── ic_error_outline_black_24dp.xml
│ │ │ ├── ic_event_note_black_24dp.xml
│ │ │ ├── ic_help_outline_24.xml
│ │ │ ├── ic_info.xml
│ │ │ ├── ic_info_outline_black_24dp.xml
│ │ │ ├── ic_notifications_black_24dp.xml
│ │ │ ├── ic_settings_24dp.xml
│ │ │ └── ic_settings_black_24dp.xml
│ │ ├── drawable-v21
│ │ │ └── design_bottom_navigation_item_background.xml
│ │ ├── layout
│ │ │ ├── activity_main.xml
│ │ │ ├── app_item.xml
│ │ │ ├── design_bottom_navigation_item.xml
│ │ │ ├── dialog_about.xml
│ │ │ ├── item_footer.xml
│ │ │ ├── layout_preference_frame.xml
│ │ │ ├── layout_progress.xml
│ │ │ ├── preference_app.xml
│ │ │ ├── settings_entity_header.xml
│ │ │ └── switch_layout.xml
│ │ ├── menu
│ │ │ ├── bottom_navigation.xml
│ │ │ └── menu_main.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_app.png
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_app.png
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_app.png
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_app.png
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_app.png
│ │ │ └── ic_launcher.png
│ │ ├── raw
│ │ │ ├── can_not_receive_push.md
│ │ │ ├── no_register.md
│ │ │ └── register_error.md
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ ├── configs.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── values-v26
│ │ │ └── strings.xml
│ │ ├── values-zh
│ │ │ └── strings.xml
│ │ ├── values-zh-v26
│ │ │ └── strings.xml
│ │ └── xml
│ │ └── settings.xml
│ ├── art
│ │ ├── ask.jpg
│ │ ├── screenshot.png
│ │ ├── tab_apps.jpg
│ │ ├── tab_events.jpg
│ │ ├── tab_permissions.jpg
│ │ └── tab_settings.jpg
│ ├── build.gradle
│ ├── common
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ ├── androidTest
│ │ │ └── java
│ │ │ └── top
│ │ │ └── trumeet
│ │ │ └── common
│ │ │ ├── ExampleInstrumentedTest.java
│ │ │ └── utils
│ │ │ └── UtilsTest.java
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── aidl
│ │ │ │ └── top
│ │ │ │ └── trumeet
│ │ │ │ └── common
│ │ │ │ └── IPushController.aidl
│ │ │ ├── java
│ │ │ │ ├── android
│ │ │ │ │ ├── app
│ │ │ │ │ │ ├── ActivityManager.java
│ │ │ │ │ │ ├── AppGlobals.java
│ │ │ │ │ │ └── AppOpsManager.java
│ │ │ │ │ └── os
│ │ │ │ │ └── UserHandle.java
│ │ │ │ ├── moe
│ │ │ │ │ └── yuuta
│ │ │ │ │ └── mipush
│ │ │ │ │ └── sdk
│ │ │ │ │ └── app
│ │ │ │ │ └── ControlAPIProvider.java
│ │ │ │ └── top
│ │ │ │ └── trumeet
│ │ │ │ └── common
│ │ │ │ ├── Constants.java
│ │ │ │ ├── cache
│ │ │ │ │ ├── AbstractCacheAspect.java
│ │ │ │ │ ├── ApplicationNameCache.java
│ │ │ │ │ └── IconCache.java
│ │ │ │ ├── db
│ │ │ │ │ ├── EventDb.java
│ │ │ │ │ └── RegisteredApplicationDb.java
│ │ │ │ ├── event
│ │ │ │ │ ├── Event.java
│ │ │ │ │ └── type
│ │ │ │ │ ├── CommandType.java
│ │ │ │ │ ├── EventType.java
│ │ │ │ │ ├── NotificationType.java
│ │ │ │ │ ├── RegistrationResultType.java
│ │ │ │ │ ├── RegistrationType.java
│ │ │ │ │ ├── TypeFactory.java
│ │ │ │ │ └── UnknownType.java
│ │ │ │ ├── ipc
│ │ │ │ │ ├── Disconnectable.java
│ │ │ │ │ ├── IPCUtils.java
│ │ │ │ │ └── ServiceConnectionListener.java
│ │ │ │ ├── ita
│ │ │ │ │ ├── AccessMode.java
│ │ │ │ │ ├── DetectionService.java
│ │ │ │ │ ├── ITopActivity.java
│ │ │ │ │ ├── TopActivityFactory.java
│ │ │ │ │ └── impl
│ │ │ │ │ ├── ActivityAccessibilityImpl.java
│ │ │ │ │ ├── ActivityUsageStatsImpl.java
│ │ │ │ │ └── FakeImpl.java
│ │ │ │ ├── override
│ │ │ │ │ ├── ActivityManagerOverride.java
│ │ │ │ │ ├── AppOpsManagerOverride.java
│ │ │ │ │ ├── ManifestOverride.java
│ │ │ │ │ └── UserHandleOverride.java
│ │ │ │ ├── plugin
│ │ │ │ │ └── PluginManager.java
│ │ │ │ ├── push
│ │ │ │ │ ├── ControllerImpl.java
│ │ │ │ │ ├── LegacyImpl.java
│ │ │ │ │ ├── PushController.java
│ │ │ │ │ └── PushServiceAccessibility.java
│ │ │ │ ├── register
│ │ │ │ │ └── RegisteredApplication.java
│ │ │ │ ├── utils
│ │ │ │ │ ├── DatabaseUtils.java
│ │ │ │ │ ├── ImgUtils.java
│ │ │ │ │ ├── NotificationUtils.java
│ │ │ │ │ ├── ServiceRunningChecker.java
│ │ │ │ │ ├── Utils.java
│ │ │ │ │ └── rom
│ │ │ │ │ ├── CyanogenModChecker.java
│ │ │ │ │ ├── LineageOSChecker.java
│ │ │ │ │ ├── RomChecker.java
│ │ │ │ │ ├── RomUtils.java
│ │ │ │ │ ├── h2os
│ │ │ │ │ │ └── H2OSChecker.java
│ │ │ │ │ └── miui
│ │ │ │ │ ├── C0030a.java
│ │ │ │ │ ├── C0032c.java
│ │ │ │ │ ├── C0033d.java
│ │ │ │ │ └── MiuiChecker.java
│ │ │ │ └── widget
│ │ │ │ └── LinkAlertDialog.java
│ │ │ └── res
│ │ │ ├── values
│ │ │ │ ├── dimens.xml
│ │ │ │ └── strings.xml
│ │ │ ├── values-sw600dp
│ │ │ │ └── dimens.xml
│ │ │ ├── values-sw720dp
│ │ │ │ └── dimens.xml
│ │ │ ├── values-sw720dp-land
│ │ │ │ └── dimens.xml
│ │ │ ├── values-sw720dp-w1280dp
│ │ │ │ └── dimens.xml
│ │ │ └── values-zh
│ │ │ └── strings.xml
│ │ └── test
│ │ └── java
│ │ └── top
│ │ └── trumeet
│ │ └── common
│ │ └── ExampleUnitTest.java
│ ├── condom
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ ├── androidTest
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ └── com
│ │ │ └── oasisfeng
│ │ │ └── condom
│ │ │ ├── CondomContextBasicSemanticTest.java
│ │ │ ├── CondomContextBlockingTest.java
│ │ │ ├── CondomKitTest.java
│ │ │ ├── CondomMiscTest.java
│ │ │ └── CondomProcessTest.java
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ ├── android
│ │ │ ├── content
│ │ │ │ ├── ContentResolver.java
│ │ │ │ ├── IContentProvider.java
│ │ │ │ ├── IntentSender.java
│ │ │ │ └── pm
│ │ │ │ ├── IPackageDataObserver.java
│ │ │ │ ├── IPackageDeleteObserver.java
│ │ │ │ ├── IPackageStatsObserver.java
│ │ │ │ ├── KeySet.java
│ │ │ │ └── PackageManager.java
│ │ │ └── telephony
│ │ │ └── TelephonyManager.java
│ │ ├── com
│ │ │ ├── android
│ │ │ │ └── internal
│ │ │ │ └── app
│ │ │ │ └── IAppOpsService.java
│ │ │ └── oasisfeng
│ │ │ └── condom
│ │ │ ├── CondomContext.java
│ │ │ ├── CondomCore.java
│ │ │ ├── CondomKit.java
│ │ │ ├── CondomOptions.java
│ │ │ ├── CondomProcess.java
│ │ │ ├── ContentResolverWrapper.java
│ │ │ ├── OutboundJudge.java
│ │ │ ├── OutboundType.java
│ │ │ ├── PackageManagerWrapper.java
│ │ │ ├── PseudoContextWrapper.java
│ │ │ ├── kit
│ │ │ │ ├── NullDeviceIdKit.java
│ │ │ │ └── package-info.java
│ │ │ ├── package-info.java
│ │ │ └── util
│ │ │ └── Lazy.java
│ │ └── top
│ │ └── trumeet
│ │ └── hook
│ │ └── FakeManifestUtils.java
│ ├── ext_MiPushFakeGlobal
│ ├── ext_RiruMiPushFake
│ ├── extenders
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ ├── androidTest
│ │ │ └── java
│ │ │ └── moe
│ │ │ └── yuuta
│ │ │ └── extenders
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ └── android
│ │ │ └── app
│ │ │ ├── AppOpsManager.java
│ │ │ ├── AppOpsManagerExtender.java
│ │ │ ├── NotificationManager.java
│ │ │ └── NotificationManagerExtender.java
│ │ └── test
│ │ └── java
│ │ └── moe
│ │ └── yuuta
│ │ └── extenders
│ │ └── ExampleUnitTest.java
│ ├── fabric.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties.example
│ ├── provider
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ ├── androidTest
│ │ │ └── java
│ │ │ └── top
│ │ │ └── trumeet
│ │ │ └── mipush
│ │ │ └── provider
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── top
│ │ │ │ └── trumeet
│ │ │ │ └── mipush
│ │ │ │ └── provider
│ │ │ │ ├── DatabaseUtils.java
│ │ │ │ ├── MyMigrationHelper.java
│ │ │ │ ├── event
│ │ │ │ │ ├── Event.java
│ │ │ │ │ └── EventProvider.java
│ │ │ │ └── register
│ │ │ │ ├── AppProvider.java
│ │ │ │ ├── RegisterDB.java
│ │ │ │ └── RegisteredApplication.java
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── test
│ │ └── java
│ │ └── top
│ │ └── trumeet
│ │ └── mipush
│ │ └── provider
│ │ └── ExampleUnitTest.java
│ ├── push
│ │ ├── build.gradle
│ │ ├── libs
│ │ │ └── miuipushsdkshared.jar
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ ├── androidTest
│ │ │ └── java
│ │ │ └── com
│ │ │ └── xiaomi
│ │ │ └── xmsf
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ │ └── xposed_init
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── xiaomi
│ │ │ │ ├── push
│ │ │ │ │ ├── sdk
│ │ │ │ │ │ └── MyPushMessageHandler.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── MiPushMsgAck.java
│ │ │ │ │ ├── MyClientEventDispatcher.java
│ │ │ │ │ ├── MyMIPushMessageProcessor.java
│ │ │ │ │ ├── MyMIPushNotificationHelper.java
│ │ │ │ │ └── PushServiceMain.java
│ │ │ │ ├── xmsf
│ │ │ │ │ ├── EmptyActivity.java
│ │ │ │ │ ├── ManageSpaceActivity.java
│ │ │ │ │ ├── RemoveDozeActivity.java
│ │ │ │ │ ├── ShareLogActivity.java
│ │ │ │ │ ├── XmsfApp.java
│ │ │ │ │ ├── push
│ │ │ │ │ │ ├── auth
│ │ │ │ │ │ │ └── AuthActivity.java
│ │ │ │ │ │ ├── control
│ │ │ │ │ │ │ ├── APIProvider.java
│ │ │ │ │ │ │ ├── AppOpsKit.java
│ │ │ │ │ │ │ ├── ControlService.java
│ │ │ │ │ │ │ ├── NotificationManagerKit.java
│ │ │ │ │ │ │ ├── PushControllerUtils.java
│ │ │ │ │ │ │ └── XMOutbound.java
│ │ │ │ │ │ ├── hooks
│ │ │ │ │ │ │ ├── IHook.java
│ │ │ │ │ │ │ ├── PushSdkHooks.java
│ │ │ │ │ │ │ └── impl
│ │ │ │ │ │ │ ├── HookMIUIPushSdk.java
│ │ │ │ │ │ │ ├── HookPingReceiver.java
│ │ │ │ │ │ │ └── HookPkgUninstallReceiver.java
│ │ │ │ │ │ ├── notification
│ │ │ │ │ │ │ └── NotificationController.java
│ │ │ │ │ │ ├── service
│ │ │ │ │ │ │ ├── HttpService.java
│ │ │ │ │ │ │ ├── IHttpService.java
│ │ │ │ │ │ │ ├── IStatService.java
│ │ │ │ │ │ │ ├── MiuiPushActivateService.java
│ │ │ │ │ │ │ ├── XMAccountManager.java
│ │ │ │ │ │ │ ├── XMPushService.java
│ │ │ │ │ │ │ ├── notificationcollection
│ │ │ │ │ │ │ │ ├── NotificationListener.java
│ │ │ │ │ │ │ │ └── UploadNotificationJob.java
│ │ │ │ │ │ │ └── receivers
│ │ │ │ │ │ │ ├── AccountChangedReceiver.java
│ │ │ │ │ │ │ ├── BootReceiver.java
│ │ │ │ │ │ │ ├── KeepAliveReceiver.java
│ │ │ │ │ │ │ ├── MiPushPingReceiver.java
│ │ │ │ │ │ │ ├── MiuiPushMessageReceiver.java
│ │ │ │ │ │ │ ├── NetworkStatusReceiver.java
│ │ │ │ │ │ │ ├── NotificationEventReceiver.java
│ │ │ │ │ │ │ └── PkgUninstallReceiver.java
│ │ │ │ │ │ ├── type
│ │ │ │ │ │ │ └── TypeFactory.java
│ │ │ │ │ │ └── utils
│ │ │ │ │ │ └── RemoveTremblingUtils.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── ColorUtil.java
│ │ │ │ │ ├── ConfigCenter.java
│ │ │ │ │ └── LogUtils.java
│ │ │ │ └── xposed
│ │ │ │ └── hook
│ │ │ │ └── MiPushEnhanceHook.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ └── ic_notifications_black_24dp.xml
│ │ │ ├── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout
│ │ │ │ └── activity_empty.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ ├── values-zh
│ │ │ │ └── strings.xml
│ │ │ └── xml
│ │ │ ├── detection_service_config.xml
│ │ │ ├── filepaths.xml
│ │ │ └── fragmented_preferences.xml
│ │ └── platform
│ │ └── AndroidManifest.xml
│ └── settings.gradle
├── 说明.htm
└── 5t6t网java Android_仿小米系统级推送.zip
214 directories, 324 files
评论