EDIT: found out its a problem with my messagereceiving service for push notifications. if i stop service on closing the app the problem doesn't appear anymore but if i click on the received notification in my phone, it starts my app from the wrong activity... in my messagereceivingservice.java i do
postNotification(new Intent(context, NotificationsActivity.class), context);
so is this the issue?
I am doing an app in android where users can create their own profile to interact with their friends.The app includes google maps and push notifications are implemented. I can't find out since when this happens but for a while now the app restarts automatically after a while if the user stops or closes the app. since i can't post all of my code here, Did anyone come across this problem and has an idea where to search for the source of this problem? may be any service running when app is closed that forces app to restart? i must say i am pretty desperate because the app itself runs perfectly apart from this problem.
at least here is my AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the 'MyLocation' functionality.
-->
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- GCM -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- GOOGLE CLOUD MESSAGING -->
<permission
android:name=".permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name=".permission.C2D_MESSAGE" />
<!-- if you want to keep processor from sleeping when a message is received -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider1496945817221747"
android:exported="true" />
<application
android:largeHeap="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name=".SplashScreen"
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=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
<activity
android:name=".AddActivity"
android:label="@string/title_activity_add"
android:parentActivityName=".MainActivity"
android:theme="@style/AppTheme.NoActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
<activity
android:name=".DiscoverActivity"
android:label="@string/title_activity_discover"
android:parentActivityName=".MainActivity"
android:theme="@style/AppTheme.NoActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
<activity
android:name=".DetailActivity"
android:label="@string/title_activity_detail"
android:parentActivityName=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<activity
android:name=".ProfileActivity"
android:label="@string/title_activity_profile"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<activity
android:name=".EditProfileActivity"
android:label="@string/title_activity_edit_profile"
android:parentActivityName=".ProfileActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ProfileActivity" />
</activity>
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is used to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps"
android:screenOrientation="portrait" >
</activity>
<!-- FACEBOOK ACTIVITY -->
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".FriendsActivity"
android:label="@string/title_activity_friends"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<activity
android:name=".RegisterActivity"
android:label="@string/title_activity_register"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<activity
android:name=".NotificationsActivity"
android:label="@string/title_activity_notifications"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<!-- GCM -->
<!-- android:name="com.google.android.gms.gcm.GcmReceiver" -->
<receiver
android:name=".ExternalReceiver"
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" />
<action android:name="com.google.android.c2dm.intent.REGISTER" />
<category android:name=".androidtest" />
</intent-filter>
</receiver>
<service
android:name=".NotificationService"
android:exported="false" >
</service>
<service
android:name=".LoadImageService"
android:exported="false" >
</service>
<service
android:name=".AddFriendService"
android:exported="false" >
</service>
<service
android:name=".AcceptFriendService"
android:exported="false" >
</service>
<service
android:name=".JoinService"
android:exported="false" >
</service>
<service
android:name=".DeleteService"
android:exported="false" >
</service>
<activity
android:name=".EditActivity"
android:label="@string/title_activity_edit"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
<service
android:name=".MessageReceivingService"
android:label=".MessageReceivingService" >
<intent-filter>
<action android:name=".AndroidMobilePushApp" />
<action android:name=".ExternalReceiver" />
<category android:name=".androidtest" />
</intent-filter>
</service>
<activity
android:name=".BasesActivity"
android:label="@string/title_activity_bases"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
</activity>
</application>