Open Aliexpress2401 opened 3 months ago
Hi, I also had this problem. But this fork helped me https://github.com/brunochikuji/cordova-plugin-background-mode.git
By using this, the play console is requiring me to declare tasks and provide videos for foreground services. Is there an alternative way to avoid this process?
@Neelam1990 I used it and I didn't had this problem. Are you working on Android or iOS? For Android have you added the android permissions like:
android.permission.FOREGROUND_SERVICE" android.permission.WAKE_LOCK" android.permission.FOREGROUND_SERVICE_DATA_SYNC"
in the AndroidManifest?
For iOS insted you have to add keys:
•
in the (nameoftheproject)-Info.plist
Yes, these permissions are already available in my AndroidManifest.xml. I'm sorry I forgot to mention that I'm asking for Android and google play console forcing to declare tasks and provides video for foreground services. An exact error is: Your app uses the FOREGROUND_SERVICE_DATA_SYNC permission. You can only use this permission if your app performs tasks noticeable to the user when they're not directly interacting with your app.
@Neelam1990 can I ask you what is your goal for your project to understand better? Just to make sure have you added the plugin in the quasar.config.js?
This plugin is being used by me to continuously play my music audios in background mode. After implementing the functionality, I uploaded it to the Google Play console and it shows the message that I mentioned earlier. Can you tell me the location of quasar.config.js in the ionic Cordova project? Thank you for this quick help.
@Neelam1990 Ok, that's mine:
const { configure } = require("quasar/wrappers"); const path = require("path");
module.exports = configure(function (/ ctx /) { return { eslint: { // fix: true, // include: [], // exclude: [], // rawOptions: {}, warnings: true, errors: true, },
// https://v2.quasar.dev/quasar-cli-vite/prefetch-feature
// preFetch: true,
// app boot file (/src/boot)
// --> boot files are part of "main.js"
// https://v2.quasar.dev/quasar-cli-vite/boot-files
boot: ["i18n", "axios", "background"],
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
css: ["app.scss"],
// https://github.com/quasarframework/quasar/tree/dev/extras
extras: [
// 'ionicons-v4',
// 'mdi-v5',
"fontawesome-v6",
// 'eva-icons',
// 'themify',
// 'line-awesome',
// 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
"roboto-font", // optional, you are not bound to it
"material-icons", // optional, you are not bound to it
],
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#build
build: {
target: {
browser: ["es2019", "edge88", "firefox78", "chrome87", "safari13.1"],
node: "node16",
},
vueRouterMode: "hash", // available values: 'hash', 'history'
// vueRouterBase,
// vueDevtools,
// vueOptionsAPI: false,
// rebuildCache: true, // rebuilds Vite/linter/etc cache on startup
// publicPath: '/',
// analyze: true,
// env: {},
// rawDefine: {}
// ignorePublicFolder: true,
// minify: false,
// polyfillModulePreload: true,
// distDir
// extendViteConf (viteConf) {},
// viteVuePluginOptions: {},
vitePlugins: [
[
"@intlify/vite-plugin-vue-i18n",
{
// if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false`
// compositionOnly: false,
// if you want to use named tokens in your Vue I18n messages, such as 'Hello {name}',
// you need to set `runtimeOnly: false`
// runtimeOnly: false,
// you need to set i18n resource including paths !
include: path.resolve(__dirname, "./src/i18n/**"),
},
],
],
},
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#devServer
devServer: {
// https: true
open: true, // opens browser window automatically
},
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#framework
framework: {
config: {
cordova: {
// Quasar handles app exit on mobile phone back button.
backButtonExit: false / ["/app", "/license", "/policy", "/settings"],
// On the other hand, the following completely
// disables Quasar's back button management.
backButton: false,
},
},
// iconSet: 'material-icons', // Quasar icon set
lang: "it", // Quasar language pack
// For special cases outside of where the auto-import strategy can have an impact
// (like functional components as one of the examples),
// you can manually specify Quasar components/directives to be available everywhere:
//
// components: [],
// directives: [],
// Quasar plugins
plugins: ["Dialog", "Notify", "LocalStorage"],
},
// animations: 'all', // --- includes all animations
// https://v2.quasar.dev/options/animations
animations: [],
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#property-sourcefiles
// sourceFiles: {
// rootComponent: 'src/App.vue',
// router: 'src/router/index',
// store: 'src/store/index',
// registerServiceWorker: 'src-pwa/register-service-worker',
// serviceWorker: 'src-pwa/custom-service-worker',
// pwaManifestFile: 'src-pwa/manifest.json',
// electronMain: 'src-electron/electron-main',
// electronPreload: 'src-electron/electron-preload'
// },
// https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr
ssr: {
// ssrPwaHtmlFilename: 'offline.html', // do NOT use index.html as name!
// will mess up SSR
// extendSSRWebserverConf (esbuildConf) {},
// extendPackageJson (json) {},
pwa: false,
// manualStoreHydration: true,
// manualPostHydrationTrigger: true,
prodPort: 3000, // The default port that the production server should use
// (gets superseded if process.env.PORT is specified at runtime)
middlewares: [
"render", // keep this as last one
],
},
// https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa
pwa: {
workboxMode: "generateSW", // or 'injectManifest'
injectPwaMetaTags: true,
swFilename: "sw.js",
manifestFilename: "manifest.json",
useCredentialsForManifestTag: false,
// useFilenameHashes: true,
// extendGenerateSWOptions (cfg) {}
// extendInjectManifestOptions (cfg) {},
// extendManifestJson (json) {}
// extendPWACustomSWConf (esbuildConf) {}
manifest: {
name: `X-Pass`,
short_name: `X-Pass`,
description: `A Trexom App`,
display: "standalone",
orientation: "portrait",
background_color: "#ffffff",
theme_color: "#f44e1a",
icons: [
{
src: "icons/icon-128x128.png",
sizes: "128x128",
type: "image/png",
},
{
src: "icons/icon-192x192.png",
sizes: "192x192",
type: "image/png",
},
{
src: "icons/icon-256x256.png",
sizes: "256x256",
type: "image/png",
},
{
src: "icons/icon-384x384.png",
sizes: "384x384",
type: "image/png",
},
{
src: "icons/icon-512x512.png",
sizes: "512x512",
type: "image/png",
},
],
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova
cordova: {
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
appId: "net.test.xpass",
plugins: ["cordova-plugin-background-mode"],
},
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor
capacitor: {
hideSplashscreen: true,
},
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron
electron: {
// extendElectronMainConf (esbuildConf)
// extendElectronPreloadConf (esbuildConf)
// specify the debugging port to use for the Electron app when running in development mode
inspectPort: 5858,
bundler: "packager", // 'packager' or 'builder'
packager: {
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
// OS X / Mac App Store
// appBundleId: '',
// appCategoryType: '',
// osxSign: '',
// protocol: 'myapp://path',
// Windows only
// win32metadata: { ... }
},
builder: {
// https://www.electron.build/configuration/configuration
appId: "x-pass",
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex
bex: {
contentScripts: ["my-content-script"],
// extendBexScriptsConf (esbuildConf) {}
// extendBexManifestJson (json) {}
},
}; }); thats mine
Hi, i fixed the pending indent problem and it works on android 13, but now on samsung with android 14 it didn't work and it crashes my app. Someone knows how to help me?