UrbanAirship activity issue in manifest in eclipse android - android

here is my code of manifest, in which i am getting error at android:resource="#layout/ua_activity_landing_page". Code is:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="rkp.free.biblefy.your.screen"
android:versionCode="14"
android:versionName="1.4" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.vending.BILLING" />
<!-- Permission to get DeviceId -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- GCM connects to Google Services. -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Creates a custom permission so only this app can receive its messages. NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
where PACKAGE is the application's package name.-->
<permission
android:name="rkp.free.biblefy.your.screen.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="rkp.free.biblefy.your.screen.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive data message. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- GCM requires Android SDK version 2.2 (API level 8) or above. -->
<!--
The targetSdkVersion is optional, but it's always a good practice
to target higher versions.
-->
<permission
android:name="rkp.free.biblefy.your.screen.permission.UA_DATA"
android:protectionLevel="signature" />
<uses-permission android:name="rkp.free.biblefy.your.screen.permission.UA_DATA" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<application
android:name="rkp.free.biblefy.your.screen.MyApp"
android:allowBackup="true"
android:icon="#drawable/app_icon"
android:label="#string/app_name"
android:largeHeap="true"
android:theme="#style/AppTheme" >
<activity
android:name="rkp.free.biblefy.your.screen.MainActivity"
android:label="#string/app_name"
android:launchMode="singleTop"
android:noHistory="true"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="rkp.free.biblefy.your.screen.MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="rkp.free.biblefy.your.screen.Catagories"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="rkp.free.biblefy.your.screen.Catagory_Detailed"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="rkp.free.biblefy.your.screen.PurchaseWalls"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="rkp.free.biblefy.your.screen.RK"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file" />
</intent-filter>
</activity>
<activity
android:name="rkp.free.biblefy.your.screen.Home"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="#android:style/Theme.Translucent" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<!-- LSM -->
<activity
android:name="com.lifestreet.android.lsmsdk.ads.InterstitialAdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity
android:name="com.lifestreet.android.lsmsdk.mraid.MRAIDInterstitialActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity
android:name="com.lifestreet.android.lsmsdk.VideoPlayerActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<receiver
android:name="com.tenjin.android.TenjinReferrerReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<!-- REQUIRED for Urban Airship Push -->
<activity android:name="com.urbanairship.CoreActivity" />
<receiver
android:name="com.urbanairship.CoreReceiver"
android:exported="false" >
<intent-filter android:priority="-999" >
<action android:name="com.urbanairship.push.OPENED" />
<category android:name="rkp.free.biblefy.your.screen" />
</intent-filter>
</receiver>
<activity
android:name="com.urbanairship.actions.LandingPageActivity"
android:exported="false" >
<meta-data
android:name="com.urbanairship.action.LANDING_PAGE_VIEW"
android:resource="#layout/ua_activity_landing_page" />
<meta-data
android:name="com.urbanairship.push.iam.EXCLUDE_FROM_AUTO_SHOW"
android:value="true" />
<intent-filter>
<action android:name="com.urbanairship.actions.SHOW_LANDING_PAGE_INTENT_ACTION" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="message" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- REQUIRED for Urban Airship -->
<service
android:name="com.urbanairship.push.PushService"
android:label="Push Notification Service" />
<!-- Required for analytics -->
<service
android:name="com.urbanairship.analytics.EventService"
android:label="Event Service" />
<!-- Required for Actions -->
<service android:name="com.urbanairship.actions.ActionService" />
<!-- Required for Rich Push -->
<service android:name="com.urbanairship.richpush.RichPushUpdateService" />
<!-- REQUIRED for GCM -->
<receiver
android:name="com.urbanairship.push.GCMPushReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="rkp.free.biblefy.your.screen" />
</intent-filter>
</receiver>
<!-- OPTIONAL, if you want to receive push, push opened and registration completed intents -->
<!-- Replace the receiver below with your package and class name -->
<receiver
android:name="rkp.free.biblefy.your.screen.IntentReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.urbanairship.push.CHANNEL_UPDATED" />
<action android:name="com.urbanairship.push.OPENED" />
<action android:name="com.urbanairship.push.DISMISSED" />
<action android:name="com.urbanairship.push.RECEIVED" />
<!-- MODIFICATION REQUIRED - Use your package name as the category -->
<category android:name="rkp.free.biblefy.your.screen" />
</intent-filter>
</receiver>
<!-- This is required for persisting preferences related to push and location -->
<provider
android:name="com.urbanairship.UrbanAirshipProvider"
android:authorities="rkp.free.biblefy.your.screen.urbanairship.provider"
android:exported="true"
android:multiprocess="true"
android:permission="rkp.free.biblefy.your.screen.permission.UA_DATA" />
<receiver
android:name="com.calldorado.android.actionreceiver.ActionReceiver"
android:enabled="true" >
<intent-filter android:priority="100" >
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<action android:name="com.calldorado.android.intent.SEND_RATING_REQ" />
<action android:name="com.calldorado.android.intent.SEARCH" />
<action android:name="com.calldorado.android.intent.INITSDK" />
<action android:name="com.calldorado.android.intent.COMM_END" />
<action android:name="com.calldorado.android.intent.WIC_POSITION" />
<action android:name="com.calldorado.android.intent.MAKE_CALL" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="com.calldorado.android.intent.TRIGGER_SEND" />
<action android:name="com.calldorado.android.intent.PACEMAKER" />
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="com.calldorado.android.intent.DYNAMIC_RE_ENGAGEMENT" />
<action android:name="com.calldorado.android.intent.PRIORITY" />
<action android:name="com.calldorado.android.intent.HEARTBEAT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver
android:name="com.calldorado.analytics.CalldoradoStatsReceiver"
android:enabled="true"
android:exported="true" >
</receiver>
<activity
android:name="com.calldorado.android.ui.ResultActivity"
android:screenOrientation="portrait"
android:taskAffinity=""
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.calldorado.android.ui.AfterCallActivity"
android:screenOrientation="portrait"
android:taskAffinity=""
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.calldorado.android.ui.SettingsActivity"
android:screenOrientation="portrait"
android:taskAffinity=""
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="rkp.free.biblefy.your.screen.settingsactivity" />
</intent-filter>
</activity>
<service android:name="com.calldorado.android.service.CalldoradoCommunicationService" />
<service android:name="com.calldorado.android.ad.BannerLoadingService" />
<service android:name="com.calldorado.android.GoogleSyncService" />
<service android:name="com.calldorado.analytics.CalldoradoStatsCommunicationService" />
<meta-data
android:name="com.calldorado.AccountId"
android:value="a1-dfa69600-4598-49fb-9db9-26ce8053a220" />
<meta-data
android:name="com.calldorado.AppId"
android:value="b0-ccc4d694-7994-426a-84eb-ab11103bbf8c" />
</application>
Please help me with the ua_activity_landing_page layout code, since i don't have so much knowledge of android and specially of eclipse android !!!

Not sure what SDK version you are trying to use but the problem is missing resources. You can go ahead and remove the metadata entry in the manifest:
<meta-data
android:name="com.urbanairship.action.LANDING_PAGE_VIEW"
android:resource="#layout/ua_activity_landing_page" />
The landing page activity will fallback to generating a layout programatically.
This seems like a bigger issue with your set up. It seems resources are unavailable in your project, so your project is probably not set up properly for Urban Airship. Make sure its set up as a resource android library project. Eclipse is no longer supported so I would strongly recommend converting the project to use Android Studio.

Related

Targeting android 12 failed with error of `android:exported`

after setting android:exported still got this error of Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter definedAfter setting all components on Manifest, still receive an error of "Error:
Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined."
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.easymountain.quechua">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"-->
<!-- tools:ignore="ScopedStorage" />-->
<!-- <uses-permission-->
<uses-permission
android:name="android.permission.CLEAR_APP_CACHE"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT" />
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT" />
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application
android:name=".base.BaseApplication"
android:allowBackup="false"
android:fullBackupContent="false"
android:hardwareAccelerated="true"
android:icon="#mipmap/ic_launcher"
android:installLocation="internalOnly"
android:label="#string/screen_app_name"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:networkSecurityConfig="#xml/network_security_config"
android:screenOrientation="portrait"
android:supportsRtl="true"
android:theme="#style/AppTheme"
android:usesCleartextTraffic="true"
tools:replace="android:name,android:hardwareAccelerated,android:allowBackup,android:label">
<!-- SDKNAVIGATION -->
<activity
android:name="com.easymountain.quechua.ui.sdknavigation.MpMainActivity"
android:configChanges="orientation|screenSize|locale"
android:exported="true"
android:screenOrientation="portrait"
tools:node="merge"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
<data android:scheme="geo" />
</intent-filter>
</activity>
<service
android:name="com.easymountain.quechua.ui.sdknavigation.navigation.delegate.MpTraceRecorder"
android:foregroundServiceType="location"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE" />
<activity
android:name="com.easymountain.quechua.ui.sdknavigation.poinative.fragment.MpVideoPlayerFullScreenActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
android:screenOrientation="landscape"
android:exported="false"
android:theme="#style/VideoPlayerTheme" />
<!-- <activity-->
<!-- android:name="com.onegravity.contactpicker.core.ContactPickerActivity"-->
<!-- android:enabled="true"-->
<!-- android:exported="false">-->
<!-- <intent-filter>-->
<!-- <category android:name="android.intent.category.DEFAULT" />-->
<!-- <category android:name="android.intent.category.BROWSABLE" />-->
<!-- </intent-filter>-->
<!-- </activity>-->
<meta-data
android:name="preloaded_fonts"
android:resource="#array/preloaded_fonts" />
<!-- SDKNAVIGATION -->
<activity
android:name=".ui.splash.SplashActivity"
android:screenOrientation="portrait"
android:exported="true"
tools:node="merge"
android:theme="#style/AppTheme.NoActionBarSplash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.authentification.AuthWebViewActivity"
android:exported="false"
android:theme="#style/Theme.AppCompat.Light.NoActionBar">
</activity>
<activity
android:name=".ui.main.MainActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:launchMode="singleTop"
android:theme="#style/Theme.AppCompat.Light.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan|adjustResize"
android:exported="true"
tools:node="merge"
tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="quechuahikefinder" />
</intent-filter>
<intent-filter>
<action android:name="quechuahikefindermobileapplication.HANDLE_AUTHORIZATION_RESPONSE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="net.openid.appauth.RedirectUriReceiverActivity"
android:exported="true"
tools:node="merge">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="login"
android:scheme="quechuahikefinder" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="#string/mp_google_map_api_key" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="#string/facebook_app_id"
tools:replace="android:value" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="#xml/provider_paths"
tools:replace="android:resource"/>
</provider>
<service
android:name=".service.MyFirebaseMessagingService"
android:exported="false"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver android:name=".ui.utils.gpsStatusListener.GpsLocationReceiver"
android:exported="true"
tools:node="merge"
tools:ignore="Instantiatable">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="com.decathlon.quechuafinder.workmanager-init"
android:exported="false"
tools:node="remove" />
</application>
</manifest>
For an app targeting Android SDK Version 31(Android 12 OS) or above we need to set the android:exported="true" for any of our app's own activity and any 3rd party library's activity in our app's manifest, where ever the <intent-filter... is added.
We faced this issue for auth0 Android SDK.

Manifest Errors after upgrading Gradle

I have recently decided to upgrade my Android project to gradle 4.4 (because jack was way too slow), but I now have another issue.
Please, do NOT reply with "android.enableAapt2=false" as this is not a solution, it basically just ignores all these errors.
50% of my AndroidManifest.xml reports errors. (you can see the contents below)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.puresecure"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="26" />
<provider
android:name="app.puresecure.MailSender"
android:authorities="com.purescure.MailSender"
android:enabled="true"
android:exported="true"
android:grantUriPermissions="true" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature
android:name="android.hardware.camera2"
android:required="true" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.Manifest.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.Manifest.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
<!-- Optional permission for Analytics to run. -->
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required by older versions of Google Play services to create GCM registration tokens -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<permission
android:name="app.puresecure.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="app.puresecure.permission.C2D_MESSAGE" />
<application
android:allowBackup="true"
android:debuggable="true"
android:icon="#drawable/logo_transparent"
android:label="PureSecure"
android:roundIcon="#drawable/logo_transparent"
android:supportsRtl="true"
android:testOnly="true"
android:theme="#style/AppTheme" >
<activity
android:name="app.puresecure.DevicesActivity"
android:label="My devices"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name="app.puresecure.SignupActivity"
android:label="Sign up" />
<activity
android:name="app.puresecure.LoginActivity"
android:label="PureSecure" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="#string/google_maps_key" />
<activity
android:name="app.puresecure.MapsActivity"
android:label="#string/title_activity_maps" />
<activity
android:name="app.puresecure.MainScreen"
android:label="Device Info"
android:theme="#style/AppTheme.NoActionBar" />
<service android:name="app.puresecure.BackgroundService" />
<receiver
android:name="app.puresecure.DeviceAdmin"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="#xml/device_admin_policies" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
<activity android:name="app.puresecure.PINActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="app.puresecure.SetPINActivity" />
<activity
android:name="app.puresecure.GoingOutActivity"
android:theme="#style/AppTheme.NoActionBar" />
<activity android:name="app.puresecure.ControlActivity" />
<activity
android:name="app.puresecure.FriendsActivity"
android:label="Friends"
android:theme="#style/AppTheme.NoActionBar" />
<!--
<service
android:name=".PictureCapturingServiceImpl"
android:enabled="true"
android:exported="true" />
-->
<activity
android:name="app.puresecure.Splash"
android:label="Settings" />
<activity android:name="app.puresecure.SettingsActivity" />
<activity android:name="app.puresecure.LocationActivity" />
<meta-data
android:name="android.support.VERSION"
android:value="26.1.0" />
<receiver android:name="com.google.android.gms.cast.framework.media.MediaIntentReceiver" />
<service android:name="com.google.android.gms.cast.framework.media.MediaNotificationService" />
<service android:name="com.google.android.gms.cast.framework.ReconnectionService" /> <!-- Include the AdActivity and InAppPurchaseActivity configChanges and themes. -->
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:exported="false"
android:theme="#android:style/Theme.Translucent" />
<receiver
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
android:enabled="true"
android:exported="false" >
</receiver>
<service
android:name="com.google.android.gms.analytics.AnalyticsService"
android:enabled="true"
android:exported="false" />
<service
android:name="com.google.android.gms.analytics.AnalyticsJobService"
android:enabled="true"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE" />
<activity
android:name="com.google.android.gms.appinvite.PreviewActivity"
android:exported="true"
android:theme="#style/Theme.AppInvite.Preview" >
<intent-filter>
<action android:name="com.google.android.gms.appinvite.ACTION_PREVIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity"
android:excludeFromRecents="true"
android:exported="false"
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<!--
Service handling Google Sign-In user revocation. For apps that do not integrate with
Google Sign-In, this service will never be started.
-->
<service
android:name="com.google.android.gms.auth.api.signin.RevocationBoundService"
android:exported="true"
android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" />
<activity
android:name="com.google.firebase.auth.internal.FederatedSignInActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleInstance"
android:permission="com.google.firebase.auth.api.gms.permission.LAUNCH_FEDERATED_SIGN_IN"
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false"
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<!--
FirebaseMessagingService performs security checks at runtime,
no need for explicit permissions despite exported="true"
-->
<service
android:name="com.google.firebase.messaging.FirebaseMessagingService"
android:exported="true" >
<intent-filter android:priority="-500" >
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name="com.google.android.gms.tagmanager.TagManagerService"
android:enabled="true"
android:exported="false" />
<activity
android:name="com.google.android.gms.tagmanager.TagManagerPreviewActivity"
android:exported="true"
android:noHistory="true" > <!-- optional, removes the previewActivity from the activity stack. -->
<intent-filter>
<data android:scheme="tagmanager.c.app.puresecure" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
android:enabled="true"
android:exported="false" >
</receiver>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.INSTALL_PACKAGES" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service
android:name="com.google.android.gms.measurement.AppMeasurementService"
android:enabled="true"
android:exported="false" />
<service
android:name="com.google.android.gms.measurement.AppMeasurementJobService"
android:enabled="true"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE" />
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="app.puresecure" />
</intent-filter>
</receiver>
<!--
FirebaseInstanceIdService performs security checks at runtime,
no need for explicit permissions despite exported="true"
-->
<service
android:name="com.google.firebase.iid.FirebaseInstanceIdService"
android:exported="true" >
<intent-filter android:priority="-500" >
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<provider
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="app.puresecure.firebaseinitprovider"
android:exported="false"
android:initOrder="100" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<meta-data
android:name="android.arch.lifecycle.VERSION"
android:value="27.0.0-SNAPSHOT" />
<provider
android:name="com.android.tools.ir.server.InstantRunContentProvider"
android:authorities="app.puresecure.com.android.tools.ir.server.InstantRunContentProvider"
android:multiprocess="true" />
</application>
</manifest>
Some of the errors I get:
error: unknown element <provider> found.
error: unknown element <intent-filter> found.
Attribute android:theme is not allowed here.
This block should be in tag
<provider
android:name="app.puresecure.MailSender"
android:authorities="com.purescure.MailSender"
android:enabled="true"
android:exported="true"
android:grantUriPermissions="true" />

Push Notifications Stop working in parse.com android project

I am working on android application with parse.com. My Push notifications were working fine, but now suddenly in my project it stops working. I didn't change any thing in my project and on parse server. My Manifest file along with some code snippets are given below.
How can I trace the problem?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.murgency"
android:versionCode="40"
android:versionName="1.8"
>
<uses-sdk android:minSdkVersion="16"
android:targetSdkVersion="20" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SET_DEBUG_APP"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.murgency.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.murgency.permission.C2D_MESSAGE" />
<application
android:name="murgency.MUrgencyApplication"
android:allowBackup="true"
android:label="#string/app_name"
android:largeHeap="true"
android:icon="#drawable/icon"
android:theme="#style/AppTheme"
tools:replace="android:icon">
<service android:name="com.appsee.AppseeBackgroundUploader" />
<activity
android:name="murgency.activities.SplashScreen"
android:screenOrientation="portrait"
android:hardwareAccelerated="false"
android:theme="#style/AppTheme"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data
android:host="open"
android:scheme="MUrgency" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<receiver
android:name="services.BootReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name="services.ContactService" />
<receiver android:name="receiver.gps.GPSStartReceiver" />
<service android:name="services.gps.GPSService" />
<service
android:name="services.GPSLoggerService"
android:enabled="true"
android:exported="true"
android:permission="android.permission.ACCESS_FINE_LOCATION" >
</service>
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<!-- Custom receiver -->
<receiver
android:name="services.ParsePushReceiver"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="com.murgency.UPDATE_STATUS" />
</intent-filter>
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
<!-- GCM -->
<service
android:name="services.GcmIntentService"
android:enabled="true" />
<receiver
android:name="services.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.RECEIVE" >
<intent-filter android:priority="1" >
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.murgency.UPDATE_STATUS" />
<category android:name="com.murgency" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
</application>
</manifest>
The Parse hosted service will be retired on January 28, 2017. So you have to migrate your app.
See the Migration Url
Announcement from Parse

Apk only supported by 1 device

I have a problem with an application that I try to publish on the platform the Play Store. When I uploaded the .apk file I have seen that it is only compatible with 1 device. I have reviewed the file AndroidManifest.xml and I have not found anything that restricts the use in other device. The application takes the same permissions as any other similar application that I have published, and this other is compatible with more than 8000 devices. The only thing that is different is that in this new app I've added the service GCM with their required permissions, and the bitcoinj-0.12.3 library. What is the reason for which is not compatible with more devices? These are all the permissions that I have declared in the file AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app" >
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--
The following two permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!-- GCM PERMISSIONS -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.google.android.c2dm.permission.SEND" />
<permission android:name="com.my.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.my.app.permission.C2D_MESSAGE" />
<application android:name="com.activeandroid.app.Application"
android:allowBackup="true"
android:icon="#drawable/launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<meta-data android:name="AA_DB_NAME"
android:value="app.db" />
<meta-data android:name="AA_DB_VERSION"
android:value="1" />
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="myAPI_KEY" />
<activity android:name=".ui.SplashActivity"
android:label="#string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.PendingActivity"
android:label="#string/pending_activity"
android:screenOrientation="portrait" >
</activity>
<activity android:name=".ui.OKActivity"
android:label="#string/ok_activity"
android:screenOrientation="portrait" >
</activity>
<activity android:name=".ui.KOActivity"
android:label="#string/ko_activity"
android:screenOrientation="portrait" >
</activity>
<activity android:name=".ui.InputActivity"
android:label="#string/input_activity"
android:parentActivityName=".ui.LoggedHomeActivity"
android:screenOrientation="portrait" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".ui.LoggedHomeActivity" />
</activity>
<activity android:name=".ui.LoggedHomeActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#style/MyMaterialOwnTheme"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="bitcoin" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
<!-- [START gcm_receiver] -->
<receiver android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
<category android:name="gcm.play.android.samples.com.gcmquickstart"/>
</intent-filter>
</receiver>
<!-- [END gcm_receiver] -->
<!-- [START gcm_listener] -->
<service android:name=".gcm.NotificationService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<!-- [END gcm_listener] -->
<!-- [START instanceId_listener] -->
<service android:name=".gcm.GCMIdentificationService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<!-- [END instanceId_listener] -->
<service android:name=".gcm.RegistrationIntentService"
android:exported="false" >
</service>
</application>
This a scrrenshot of analisis from Google Play:
EDIT: I have read the post Android app is supported by 0 devices, but I haven't managed to fix anything
EDIT 2: Posted the complete AndroidManifest.xml file.
you can prevent the problem by doing this in your build.gradle
compile 'com.google:bitcoinj:0.11.3#jar'
// the above #jar is important
// context: https://stackoverflow.com/questions/22730620/bad-apk-when- using-bitcoinj-from-maven-central
had the same with https://github.com/ligi/satoshiproof
Cause: View this answer

IBM Worklight - How to disable splash screen?

I'm using worklight for my mobile app project. My question is how to disable splash screen in android manifest?
This is my android manifest.
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rmbp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="18" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Push permissions -->
<permission
android:name="com.rmbp.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.rmbp.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:debuggable="true"
android:icon="#drawable/icon"
android:label="#string/app_name" >
<activity
android:name="com.rmbp.rmbp"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="#string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.rmbp.rmbp.NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Preference Activity -->
<activity
android:name="com.worklight.common.WLPreferences"
android:label="Worklight Settings" >
</activity>
<!-- Push service -->
<!--
In order to use the c2dm library, an application must declare a class with the name C2DMReceiver, in its own package, extending com.google.android.c2dm.C2DMBaseReceiver
It must also include this section in the manifest, replacing "com.google.android.apps.chrometophone" with its package name.
-->
<service android:name="com.rmbp.GCMIntentService" />
<service android:name="com.rmbp.ForegroundService" />
<!-- Only google service can send data messages for the app. If permission is not set - any other app can generate it -->
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<!-- Receive the actual message -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.rmbp" />
</intent-filter>
<!-- Receive the registration id -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.rmbp" />
</intent-filter>
</receiver>
</application>
</manifest>
Check my repo: https://github.com/datomnurdin/worklight-mobile
Thanks a lot in advance.
Move this block:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.rmbp.rmbp.NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
to the activity which you want to start first. Intent filter will mark this activity as default for start from launcher.
For example:
<activity
android:name="com.rmbp.SplashScreen"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="#string/title_activity_splash_screen"
android:launchMode="singleTask"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.rmbp.rmbp"
android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.rmbp.rmbp.NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

Categories

Resources