Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pliablepixels/cordova-plugin-multi-window
multi window detection for Android and onStart() onStop() app state callbacks
https://github.com/pliablepixels/cordova-plugin-multi-window
cordova cordova-plugin multi-window multiwindow
Last synced: 3 months ago
JSON representation
multi window detection for Android and onStart() onStop() app state callbacks
- Host: GitHub
- URL: https://github.com/pliablepixels/cordova-plugin-multi-window
- Owner: pliablepixels
- License: mit
- Created: 2018-08-18T14:07:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-23T13:44:10.000Z (over 6 years ago)
- Last Synced: 2024-10-03T06:56:25.516Z (3 months ago)
- Topics: cordova, cordova-plugin, multi-window, multiwindow
- Language: Java
- Homepage:
- Size: 35.2 KB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cordova-plugin-multi-window
Tests if app is running in multi-window mode for Android devices. Also lets you trap `onStop()` and `onStart()` which are important to differentiate
from `onPause` events while in multi-window.This is my first cordova plugin, scraped together looking at [this](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) tutorial. I am not an android native developer, so the code in the java file is a result of looking at other examples and trying to resolve compile/run time errors as they came along. I don't have a clue on how to write a proper android class file.
If you can improve it, please PR.
## Test Repo
Feel free to clone [this test repo](https://github.com/pliablepixels/is-multiwindow-test)## Usage inside your app
`cordova plugin add cordova-plugin-multiwindow --save`### To get multi-window state:
```
window.MultiWindowPlugin.get(function (result) {
console.log ("Multi-Window state is:" + result.state);
},
function (err) {
console.log (" *************** ERR:"+JSON.stringify(err));
});
```### To register for onStop() and onStart():
**NOTE: onStart() and onStop() are also invoked in non-multi window mode**
This plugin allows multiple callbacks to register to the events, because in practice,
while building an app you'll want to trap these events in different controllers to manage pause/resume
states in different views. To do this, you can pass a handle (string) during registration which you can use to de-register that specific instance.```
// Make sure you do this AFTER deviceReady
window.MultiWindowPlugin.registerOnStop("my-stop-handle-thiscontroller", onStop);
window.MultiWindowPlugin.registerOnStart("my-start-handle", onStart);
// and in a different controller, maybe
window.MultiWindowPlugin.registerOnStop("my-stop-handle-othercontroller", onOtherStopHandler);
```### To de-register for onStop() and onStart():
```
// Make sure you do this AFTER deviceReady
window.MultiWindowPlugin.deregisterOnStop("my-stop-handle-othercontroller");
window.MultiWindowPlugin.deregisterOnStart("my-start-handle");
```Or, all together:
**NOTE: This will de-register ALL callbacks in all controllers across the app, so use with caution**
```
// Make sure you do this AFTER deviceReady
window.MultiWindowPlugin.deregisterAll();
```