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
Related
I have an app I released to a private Google Play Alpha. I can install this exact same APK to my Android Emulator just fine with
adb pm install
but through the Google Play store it is marked for this exact same Emulator as
Your device isn't compatible with this version.
This is the same apk. I can't figure out how to get any information on why the play store thinks it's not compatible.
My manifest looks like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="2"
android:versionName="1.0"
package="com.company.example"
platformBuildVersionCode="26"
platformBuildVersionName="8.0.0">
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="26" />
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="com.android.vending.BILLING" />
<meta-data
android:name="android.support.VERSION"
android:value="26.0.0-alpha1" />
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.company.example.permission.C2D_MESSAGE"
android:protectionLevel="0x2" />
<uses-permission
android:name="com.company.example.permission.C2D_MESSAGE" />
<application
android:theme="#ref/0x7f0b01b8"
android:label="#ref/0x7f090022"
android:icon="#ref/0x7f030000"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:supportsRtl="true">
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="#ref/0x7f02005b" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="#ref/0x7f0e001d" />
<service
android:name="com.company.example.MyFirebaseMessagingService">
<intent-filter>
<action
android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver
android:name="com.company.example.FCMbroadcast"
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="com.servpro.activity" />
</intent-filter>
</receiver>
<activity
android:name="com.company.example.SplashScreen">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
android:enabled="true"
android:exported="false" />
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:permission="android.permission.INSTALL_PACKAGES"
android:enabled="true">
<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" />
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
android:permission="com.google.android.c2dm.permission.SEND"
android:exported="true">
<intent-filter>
<action
android:name="com.google.android.c2dm.intent.RECEIVE" />
<action
android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category
android:name="com.company.example" />
</intent-filter>
</receiver>
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
android:exported="false" />
<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:exported="false"
android:authorities="com.company.example.firebaseinitprovider"
android:initOrder="100" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#ref/0x7f0d0006" />
</application>
</manifest>
My emulator version is Android 8.0.0 and API is 26.
I find the problem it's used Wifi feature permission emulator was not have wifi so i add following code like wifi is not needed compulsory it's solved my problem.
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-feature android:name="android.hardware.faketouch" android:required="false" />
My app successfully auto start in some devices like Sony Xperia, OnePlus 3, Lyf, Micromax. But doesn't in Xiaomi. Then I found on StackOverflow that I have to give auto-start permissions to my app in Xiaomi Built-in Startup manager. I have also done that but my app doesn't auto-start. Here is the manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.missingcell.trackerapp"
android:installLocation="internalOnly">
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_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.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- for card.io card scanning -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<application
android:name="com.missingcell.trackerapp.AppController"
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme">
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyApCFp8fEsll0RO114zLWKQQ6EexTM488c" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<activity
android:name="com.missingcell.trackerapp.activities.Login"
android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.missingcell.trackerapp.activities.ChildDetails"
android:label="#string/title_activity_second">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.missingcell.trackerapp.MainActivity" />
</activity>
<service
android:name="com.paypal.android.sdk.payments.PayPalService"
android:exported="false" />
<activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
<activity android:name="com.paypal.android.sdk.payments.LoginActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" />
<activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" />
<activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" />
<activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" />
<activity android:name="com.paypal.android.sdk.payments.PayPalProfileSharingActivity" />
<activity android:name="com.paypal.android.sdk.payments.ProfileSharingConsentActivity" />
<activity
android:name="io.card.payment.CardIOActivity"
android:configChanges="keyboardHidden|orientation" />
<activity android:name="io.card.payment.DataEntryActivity" />
<activity android:name="com.missingcell.trackerapp.MainActivity"></activity>
<activity android:name="com.missingcell.trackerapp.activities.RegisterActivity"></activity>
<activity android:name="com.missingcell.trackerapp.activities.BuyPro"></activity>
<receiver android:name="com.missingcell.trackerapp.call.AlarmReceiver">
<intent-filter android:priority="9991000">
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="in.deepakpandey.AlarmReceiver"></action>
</intent-filter>
</receiver>
<receiver android:name="com.missingcell.trackerapp.sms.SMSReceiver">
<intent-filter android:priority="9991000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.provider.Telephony.SMS_SENT" />
<action android:name="in.deepakpandey.SMSReceiver" />
</intent-filter>
</receiver>
<receiver
android:name=".gps.GpsTrackerBootReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name="com.missingcell.trackerapp.gps.GPSReciver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
<receiver
android:name="com.missingcell.trackerapp.utils.APIReciver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter android:priority="9991000">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name="com.missingcell.trackerapp.utils.NotificationReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
<receiver
android:name="com.missingcell.trackerapp.utils.DemoDeviceAdmin"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
<!-- This is required this receiver to become device admin component. -->
<meta-data
android:name="android.app.device_admin"
android:resource="#xml/device_admin" />
</receiver>
<service
android:name="com.tuenti.smsradar.SmsRadarService"
android:exported="false"
android:label="#string/app_name" />
</application>
</manifest>
It doesn't new on Xiaomi because Xiaomi has a feature called app permission, where a user has to allow the app to start automatically (Service). In your case the Service is not called, once its terminated from stack.
Go like this and allow your app to autostart:
Settings > permissions > Autostart
Code:
if (Build.BRAND.equalsIgnoreCase("xiaomi")) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
startActivity(intent);
}
Use the above code to launch autostart activity.
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.
My code is as below
AndroidManifest.xml
<?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.aaa"
android:versionCode="2027"
android:versionName="5.1.5" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
<uses-permission
android:name="android.permission.GET_TASKS"
android:protectionLevel="normal" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<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.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.aaa.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.aaa.permission.C2D_MESSAGE" />
<application
android:name="com.aaa.application.SalesEnablementApplication"
android:allowBackup="true"
android:icon="#drawable/ic_app_icon_new"
android:label="#string/app_name"
tools:replace="android:label"
android:largeHeap="true"
android:theme="#style/AppTheme" >
<meta-data
android:name="com.parse.APPLICATION_ID"
android:value="#string/application_id_stage" />
<meta-data
android:name="com.parse.CLIENT_KEY"
android:value="#string/client_key_stage" />
<receiver
android:name="com.xxx.util.NetworkStateReceiver"
android:enabled="false"
android:label="NetworkStateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
.
.
.
<receiver android:name="com.aaa.pushNotification.PushBroadcastReceiver" >
<intent-filter>
<action android:name="com.aaa.Notification_ACTION" />
</intent-filter>
<!-- <category android:name="android.intent.category.DEFAULT" /> -->
</receiver>
<service android:name="com.parse.PushService" />
<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>
<receiver
android:name="com.aaa.receiver.CustomParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.GcmBroadcastReceiver"
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" />
<!-- IMPORTANT: Change "com.parse.starter" to match your app's package name. -->
<category android:name="com.aaa" />
</intent-filter>
</receiver>
<receiver
android:name="com.aaa.receiver.MyReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.starter.UPDATE_STATUS" />
<action android:name="com.aaa.UPDATE_STATUS" />
<!--
<action android:name="com.push.intent.RECEIVE" />
<action android:name="com.push.intent.DELETE" />
<action android:name="com.push.intent.OPEN" />
-->
</intent-filter>
</receiver>
<!--
<receiver
android:name="com.aaa.receiver.MyReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.aaa" />
</intent-filter>
</receiver>
-->
</application>
</manifest>
My Application Class:
public void onCreate() {
super.onCreate();
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
// Init Parse App after checking the current environment
Parse.initialize(this);
/*if(Environment.ENV.equalsIgnoreCase(Environment.ENV_STAGE)){
Parse.initialize(this, getResources().getString(R.string.application_id_stage), getResources().getString(R.string.client_key_stage));
}else{
Parse.initialize(this, getResources().getString(R.string.application_id_prod), getResources().getString(R.string.client_key_prod));
}*/
ParseInstallation.getCurrentInstallation().saveInBackground();
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
defaultACL.setPublicWriteAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
// used to store temp objects
dataStore = new DataStore();
eventCaptureHandler = new EventCaptureHandler(this);
}
I am using parse SDK version 1.13.0.
Testing on Android 6.0.1 (Sony Xperia Z2).
I try to send push message from the Parse Dashboard. I do not receive the notification sent. I noticed that DeviceType and pushType, in the Installation table, is set to (Undefined).
I am new for parse.com and trying push notification. so i refer this tutorial
http://www.androidhive.info/2015/06/android-push-notifications-using-parse-com/
i changed the application ID and client key also. i am using push notification as a test purpose. but Parse.com showing "Can't find any registered devices yet..." though i installed it in device.
I did same as the tutorial.
My Manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.samplepushnotificationparse">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.example.samplepushnotificationparse.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.samplepushnotificationparse.permission.C2D_MESSAGE" />
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
<service android:name="com.parse.PushService" />
<receiver
android:name=".CustomPushReceiver"
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.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.permission.RECEIVE" />
<action android:name="com.google.android.c2dm.permission.REGISTRATION" />
<category android:name="com.example.samplepushnotificationparse" />
</intent-filter>
</receiver>
</application>