user3926387
user3926387

Reputation: 25

java.lang.SecurityException: Permission Denial: opening provider com.quickblox.q_municate_core.db.DatabaseProvider

I am developing an app using q-municate as base. As given in readme document I copied credentials (App ID, Authorization key, Authorization secret) into my Q-municate project code in Consts.java

I refracted the package name from com.quickblox.qmunicate to com.quickblox.TestingApp I also changed the package name in AndroidManifest file except <uses-permission android:name="com.quickblox.qmunicate.permission.C2D_MESSAGE" /> , <category android:name="com.quickblox.qmunicate" />

<uses-permission android:name="com.quickblox.qmunicate.permission.C2D_MESSAGE" />

<receiver
            android:name="com.quickblox.TestingApp.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="com.quickblox.qmunicate" />
            </intent-filter>
        </receiver>

and android:authorities="com.qmun.quickblox"

<provider
            android:name="com.quickblox.q_municate_core.db.DatabaseProvider"
            android:authorities="com.qmun.quickblox"
            android:exported="false" />
        <meta-data android:name="com.crashlytics.ApiKey" android:value="7aea78439bec41a9005c7488bb6751c5e33fe270"/>

After making these changes I can install both Quickblox app and my modified app.

But modified app becomes unresponsive. Log messages

02-12 15:09:37.329  14889-14889/? E/LoginActivity﹕ loginOnClickListener(View view)
02-12 15:09:37.329  14889-14889/? E/LoginActivity﹕ userEmail = [email protected]
02-12 15:09:37.329  14889-14889/? E/LoginActivity﹕ userPassword = apptester
02-12 15:09:37.329  14889-14889/? E/LoginActivity﹕ (validationUtils.isValidUserDate(userEmail, userPassword))
02-12 15:09:37.349  14889-14889/? E/LoginActivity﹕ login(String userEmail, String userPassword)
02-12 15:09:37.349  14889-14889/? E/BaseActivity﹕ showProgress()
02-12 15:09:37.349  14889-14889/? E/BaseActivity﹕ (!progress.isAdded())
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ BaseBroadcastReceiver : onReceive(Context context, final Intent intent)
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ executinglogin_success_action
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ (intent != null && (action) != null)
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ (commandSet != null && !commandSet.isEmpty())
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ getHandler()
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ (handler == null)
02-12 15:09:43.279  14889-14889/? E/ActivityHelper﹕ for (Command command : commandSet)
02-12 15:09:43.279  14889-14889/? E/LoginActivity﹕ LoginSuccessAction execute(Bundle bundle)
02-12 15:09:43.279  14889-14889/? E/LoginActivity﹕ (rememberMeCheckBox.isChecked())
02-12 15:09:43.279  14889-14889/? E/BaseAuthActivity﹕ startMainActivity(Context context, QBUser user, boolean saveRememberMe)

02-12 16:06:25.159  20226-20226/? E/BaseAuthActivity﹕ startMainActivity(Context context, QBUser user, boolean saveRememberMe)
02-12 16:06:25.169  20226-20226/? W/System.err﹕ java.lang.SecurityException: Permission Denial: opening provider com.quickblox.q_municate_core.db.DatabaseProvider from ProcessRecord{4324dc18 20226:com.quickblox.TestingApp/u0a195} (pid=20226, uid=10195) that is not exported from uid 10190
02-12 16:06:25.169  20226-20226/? W/System.err﹕ at android.os.Parcel.readException(Parcel.java:1489)
02-12 16:06:25.169  20226-20226/? W/System.err﹕ at android.os.Parcel.readException(Parcel.java:1443)
02-12 16:06:25.169  20226-20226/? W/System.err﹕ at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2865)
02-12 16:06:25.169  20226-20226/? W/System.err﹕ at android.app.ActivityThread.acquireProvider(ActivityThread.java:4450)
02-12 16:06:25.169    1045-1336/? W/ActivityManager﹕ Permission Denial: opening provider com.quickblox.q_municate_core.db.DatabaseProvider from ProcessRecord{4324dc18 20226:com.quickblox.TestingApp/u0a195} (pid=20226, uid=10195) that is not exported from uid 10190
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2229)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.content.ContentResolver.acquireProvider(ContentResolver.java:1378)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.content.ContentResolver.delete(ContentResolver.java:1276)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.q_municate_core.db.managers.UsersDatabaseManager.deleteAllUsers(UsersDatabaseManager.java:438)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.q_municate_core.db.managers.ChatDatabaseManager.clearAllCache(ChatDatabaseManager.java:537)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.TestingApp.ui.authorization.base.BaseAuthActivity.startMainActivity(BaseAuthActivity.java:136)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.TestingApp.ui.authorization.login.LoginActivity.access$400(LoginActivity.java:24)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.TestingApp.ui.authorization.login.LoginActivity$LoginSuccessAction.execute(LoginActivity.java:135)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.quickblox.TestingApp.ui.base.ActivityHelper$BaseBroadcastReceiver$1.run(ActivityHelper.java:247)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:733)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.os.Looper.loop(Looper.java:136)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5052)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:515)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
02-12 16:06:25.179  20226-20226/? W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)

On minimizing app

02-12 15:36:05.649  14889-14889/? E/BaseActivity﹕ onPause()
02-12 15:36:05.649  14889-14889/? E/ActivityHelper﹕ onPause()
02-12 15:36:05.659  14889-14889/? E/ActivityHelper﹕ unregisterBroadcastReceiver()
02-12 15:36:05.889      378-378/? E/QCALOG﹕ [MessageQ] ProcessNewMessage: [XT-CS] unknown deliver target [OS-Agent]
02-12 15:36:05.979  14889-14889/? E/BaseAuthActivity﹕ onSaveInstanceState(Bundle outState)
02-12 15:36:05.989  14889-14889/? E/BaseActivity﹕ onStop()
02-12 15:36:05.989  14889-14889/? E/ActivityHelper﹕ onStop()
02-12 15:36:05.989  14889-14889/? E/ActivityHelper﹕ unbindService()
02-12 15:36:05.989  14889-14889/? E/ActivityHelper﹕ (bounded)
02-12 15:36:05.989  14889-14889/? E/BaseAuthActivity﹕ onStop()

Again opening

02-12 15:34:09.749  14889-14889/? E/BaseActivity﹕ onStart()
02-12 15:34:09.749  14889-14889/? E/ActivityHelper﹕ onStart()
02-12 15:34:09.749  14889-14889/? E/ActivityHelper﹕ connectToService()
02-12 15:34:09.749  14889-14889/? E/BaseActivity﹕ start
02-12 15:34:09.749  14889-14889/? E/BaseAuthActivity﹕ onStart()
02-12 15:34:09.749  14889-14889/? E/BaseActivity﹕ onResume()
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ onResume()
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ registerGlobalReceiver()
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ updateBroadcastActionList()
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ for (String commandName : broadcastCommandMap.keySet())
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ for (String commandName : broadcastCommandMap.keySet())
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ for (String commandName : broadcastCommandMap.keySet())
02-12 15:34:09.759  14889-14889/? E/BaseActivity﹕ addAction(String action, Command command)
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ addAction(String action, Command command)
02-12 15:34:09.759  14889-14889/? E/ActivityHelper﹕ onServiceConnected(ComponentName name, IBinder binder)
02-12 15:34:09.759  14889-14889/? E/BaseActivity﹕ onConnectedToService(QBService service)

This screen shot enter image description here

I have to close application and reopen to go to Login page. And problem continues.

What is going wrong? Any one who developed app using qmunicate and published on google play store please tell what is wrong and what else need to be changed.

Can any one tell before starting modification of qmunicate app, apart from App ID, Authorization key, Authorization secret what else need to be changed?

Upvotes: 0

Views: 174

Answers (1)

Samir
Samir

Reputation: 3167

You should change the package name of the modified version as the package name should be unique.

Upvotes: 0

Related Questions