Mister_Alan
Mister_Alan

Reputation: 62

Unfortunately <App Name> has stopped. PLEASE READ: It's different, I promise

Right, So before you sigh please read. I am a new amateur programmer and really require your help on this one. I debug my app on a phone running 4.4.2 and it works all the time during debug, however when I disconnect the USB cable it says "Unfortunately, LSA has stopped" (I have even tried exporting it as a signed app and installing it on the phone.) Here is the manifest file but if you require any other files please ask. Sorry if the answer to this is simplistic or if it already been answered (which i'm sure it hasn't.) Thanks.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lsa"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".LoginActivity"
        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=".Contents"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".RevPage"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

</manifest>

edit I found this in the stack trace

12-04 18:57:59.165    4410-4465/lawnswood.lsa E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
Process: lawnswood.lsa, PID: 4410
java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:300)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)
 Caused by: java.lang.SecurityException: Permission Denial: reading   com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/profile/data from   pid=4410, uid=10186 requires android.permission.READ_CONTACTS, or grantUriPermission()
        at android.os.Parcel.readException(Parcel.java:1465)
        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
        at android.content.ContentProviderProxy.query(ContentProviderNative.java:413)
        at android.content.ContentResolver.query(ContentResolver.java:464)
        at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
        at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
        at android.content.ContentResolver.query(Native Method)
        at android.content.CursorLoader.loadInBackground(CursorLoader.java:65)
        at android.content.CursorLoader.loadInBackground(CursorLoader.java:43)
        at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312)
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69)
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)

Upvotes: 0

Views: 223

Answers (1)

The E
The E

Reputation: 33

Caused by: java.lang.SecurityException: Permission Denial: reading   com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/profile/data from   pid=4410, uid=10186 requires android.permission.READ_CONTACTS, or grantUriPermission()

This says to me that you need to put <uses-permission android:name="android.permission.READ_CONTACTS">into your android manifest, as you seem to be trying to read the contacts list but don't have permission. It may work while debugging as the debugging allows it to run without the permission, but I'm not certain.

Upvotes: 2

Related Questions