๐Ÿ“ฆ retyui / react-native-widget-picker

โ˜… 21 stars โ‘‚ 0 forks ๐Ÿ‘ 21 watching
๐Ÿ“ฅ Clone https://github.com/retyui/react-native-widget-picker.git
HTTPS git clone https://github.com/retyui/react-native-widget-picker.git
SSH git clone git@github.com:retyui/react-native-widget-picker.git
CLI gh repo clone retyui/react-native-widget-picker
Davyd NRB Davyd NRB 1.1.1 da77828 3 months ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .github
๐Ÿ“ android
๐Ÿ“ src
๐Ÿ“„ .gitignore
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ tsconfig-base.json
๐Ÿ“„ tsconfig-cjs.json
๐Ÿ“„ tsconfig.json
๐Ÿ“„ yarn.lock
๐Ÿ“„ README.md

react-native-widget-picker

react-native-widget-picker on npm react-native-widget-picker downloads react-native-widget-picker install size CI status

Let users pin a widget. On devices running Android 8.0 (API level 26) and higher, launchers that let pin widgets onto their home screen

https://github.com/retyui/react-native-detect-maestro/assets/4661784/e301602d-d82e-4f5f-b259-1bae3677b868

Getting started

  • Android only
  • support React Native's New & Old Architecture
yarn add react-native-widget-picker
# or
npm install react-native-widget-picker

Edit android/app/src/main/java/com/.../MainActivity.java and add:

+import com.retyui.widgetpicker.WidgetPickerModuleImpl;

public class MainActivity extends ReactActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
+    WidgetPickerModuleImpl.registerWidgetClass("MyAppWidget", MyAppWidget.class);
    // you can register multiple widgets ^^^ 
  }

Kotlin MainActivity.kt example:

+import com.retyui.widgetpicker.WidgetPickerModuleImpl.Companion.registerWidgetClass

class MainActivity : ReactActivity() {
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    registerWidgetClass("MyAppWidget", MyAppWidget::class.java)
+  }
}

Usage

import {WidgetPicker} from 'react-native-widget-picker';

WidgetPicker.isRequestPinAppWidgetSupported() // true or false

// "MyAppWidget" - name from MainActivity.java or .kt
WidgetPicker.requestPinAppWidget("MyAppWidget").then((value) => {
    
    if (value.message === "success") {
        // success
    }
});

License

MIT