Baidu Push Notification - android

Baidu provide android SDK for push notification in eclipse project. It run well but no in android studio. I get errorCode 10101 (Integrate Check Error) Anyone know ?

Error 10101 indicated that there's something wrong with the core libs of baidu push services. From what i've experienced, it usually means that one of the .so libraries isn't loaded right, or isn't correlate with your definitions. For example, if you have a device which goes to armeabi-v7a folder, and the libbdpush_.so file there isn't right, then that device won't be able to connect to baidu's push services.
Baidu's guide : http://push.baidu.com/doc/android/api
Have you imported all the required libraries and made all the configurations ?
If you've made all the following steps, and still, you're receiving error 10101 it means that the specific phone you have doesn't have the right .so lib under its correlate core lib folder.
Download the baidu sdk http://boscdn.bpc.baidu.com/channelpush/14/dZoOygdDPxB7SecReFnwNDDG/com.neura.weave/PushDemo.zip
Import the core libs (PushDemo -> libs) to your project (project -> src -> main -> jniLibs)
Import the push service library (pushservice-_.jar) to your project (project -> libs)
Adjust your manifest
<receiver
android:name="com.baidu.android.pushservice.PushServiceReceiver"
android:process=":bdservice_v1">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
<action android:name="com.baidu.android.pushservice.action.media.CLICK" />
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
</intent-filter>
</receiver>
<receiver
android:name="com.baidu.android.pushservice.RegistrationReceiver"
android:process=":bdservice_v1">
<intent-filter>
<action android:name="com.baidu.android.pushservice.action.METHOD" />
<action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<service
android:name="com.baidu.android.pushservice.PushService"
android:exported="true"
android:process=":bdservice_v1">
<intent-filter>
<action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
</intent-filter>
</service>
<service
android:name="com.baidu.android.pushservice.CommandService"
android:exported="true" />
<meta-data
android:name="api_key"
android:value="put_your_baidu_api_key_here" />

Related

Parse Push not displaying on Android

We are using Parse Push Plugin https://github.com/taivo/parse-push-plugin with custom parse server. Push messages are coming to the device into GCMService but not rendering. The ParsePushBroadcastReceiver not sure if its being invoked. I don't see any errors in logs.
Also on debugging i see that GCM Receive Intent's are getting called, and not
com.parse.push.intent.RECEIVE , not sure if its default behaviour.
I have the following in AndroidManifest.xml , Also i am using parse android version com.parse:parse-android:1.13.1
<receiver android:exported="false" android:name="github.taivo.parsepushplugin.ParsePushPluginReceiver">
<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" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
Any help would be of greatly appreciated

Failed to resolve Intent Service Android

I am getting following error when trying to configure Push Notification:
06-07 01:05:59.735 18708-18708/com.ebr.apps.ebr.development E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
06-07 01:05:59.735 18708-18708/com.ebr.apps.ebr.development E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.
I have different flavors in gradle:
My code package name is : com.ebr.apps.ebr
My product flavor package is: com.ebr.apps.ebr.development
I have placed google-services.json in app/src/development
Manifest:
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE"/>
<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" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<service
android:name=".GCM.PushNotificationService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</service>
I have looked at many example but still getting this error.
I found the solution, the problem was that Instabug GCMListener was conflicting with my GCMListener. I set the priority of my gcm listener and it started working.
<service
android:name=".GCM.PushNotificationService"
android:exported="false">
<intent-filter android:priority="10000">
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</service>
If your coming from a search engine: you might have as well run into this bug, which affects also the current version com.google.android.gms:play-services-gcm:9.8.0
https://github.com/firebase/quickstart-android/issues/72
It was not yet possible to reproduce the bug and it is not fully understood how the situation can happen but you might be interested in following the thread.

Dropbox Sync API for Android - Unable to start activity

I was trying to use the Dropbox Sync API in an Android application (using Android Studio).
I followed the steps at this link:
https://www.dropbox.com/developers/sync/start/android
and configured the IDE with these instructions:
https://www.dropbox.com/developers/blog/57/using-the-sync-api-with-android-studio
but at Runtime, when I call:
DbxAccountManager mDbxAcctMgr = DbxAccountManager.getInstance(getApplicationContext(), APP_KEY, APP_SECRET);
(obviously APP_KEY and APP_SECRET are correctly setted) i receive:
com.dropbox.sync.android.DbxRuntimeException$BadState: Required Sync API Activity isn't included in application manifest: com.dropbox.client2.android.AuthActivity, com.dropbox.sync.android.DbxAuthActivity
What have I to do?
Thanks!
Based on the tutorial, You have to set this inside Your manifest inside the element:
<activity android:name="com.dropbox.sync.android.DbxAuthActivity" />
<activity
android:name="com.dropbox.client2.android.AuthActivity"
android:launchMode="singleTask" >
<intent-filter>
<data android:scheme="db-APP_KEY" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service
android:name="com.dropbox.sync.android.DbxSyncService"
android:enabled="true"
android:exported="false"
android:label="Dropbox Sync" />
This is to declarate the DropBox Activity, that will be opened for the user sign in.

add my TTS Engine to Android TTS Serivce like SAPI

I have developed my own TTS apps in Android. Is there any way to deploy my TTS engine into the OS instead on running the TTS apps, so that other apps can call my TTS? Something like SAPI in MS Window. SVOX can package the engine as apk and after installed, it adds new engines into the Andorid OS, not sure how can I do that same.
For your text-to-speech engine to show up in the list of available services, you'll need to add the appropriate activities and manifest entries.
For API 14 and above, you need to extend TextToSpeechService and you need to add the following to your manifest:
<service
android:name=".MyTextToSpeechService"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.TTS_SERVICE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.speech.tts"
android:resource="#xml/tts_engine" />
</service>
This references res/xml/tts_engine.xml, which should look like this:
<?xml version="1.0" encoding="utf-8"?>
<tts-engine xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="com.example.MyTtsSettingsActivity" />
You'll also need to add a variety of supporting activities. Here's what you'll be adding to your manifest:
<activity
android:name=".DownloadVoiceData"
android:theme="#android:style/Theme.Dialog" >
<intent-filter>
<action android:name="android.speech.tts.engine.INSTALL_TTS_DATA" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".CheckVoiceData"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.speech.tts.engine.CHECK_TTS_DATA" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".GetSampleText"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.speech.tts.engine.GET_SAMPLE_TEXT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".TtsSettingsActivity"
android:label="#string/tts_settings_label" >
<intent-filter>
<action android:name="android.speech.tts.engine.CONFIGURE_ENGINE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Legacy code for pre-ICS compatibility. -->
<activity
android:name=".MyTtsEngine"
android:label="#string/app_name"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.START_TTS_ENGINE" />
</intent-filter>
</activity>
<provider
android:name="com.googlecode.eyesfree.espeak.providers.SettingsProvider"
android:authorities="com.googlecode.eyesfree.espeak.providers.SettingsProvider" />
If you're planning on supporting pre-ICS versions of Android, you'll also need a shared library that conforms to a specific API.
I won't go into details of the implementation of each activity here, or into the pre-ICS API, but you can find examples in the source code for the Android port of eSpeak TTS engine:
http://code.google.com/p/eyes-free/source/browse/trunk/tts/espeak-tts/

Android Apk generating multiple files after installation on System (Mobile)

My apk file generating multiple files after installation on the system as shown in screenshot. Please help me, what to do??
Most likely this is one App having multiple activities marked as action=MAIN and category=LAUNCHER:
<activity android:name=".ExampleActivity1" android:icon="#drawable/app_icon">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ExampleActivity2" android:icon="#drawable/app_icon">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
See also this SO question: Two main activities in AndroidManifest.xml

Categories

Resources