简体   繁体   中英

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)
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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM