Search code examples
androidandroid-fragmentsmaster-detail

Android getting messages after install/start, and phone says still not installed


I'm trying to run an application that I typed in by following my textbook (Android Bootcamp 2nd ed, ch. 9). There don't seem to be any errors. But when I compile, I first get the normal info report that eclipse compiles, asks for my device, installs and starts. But then that ActivityManager stuff comes up. The application doesn't start, and the phone says it's not isntalled. What kind of error should I look for?

[2014-06-17 15:31:59 - BikeBarge] ------------------------------
[2014-06-17 15:31:59 - BikeBarge] Android Launch!
[2014-06-17 15:31:59 - BikeBarge] adb is running normally.
[2014-06-17 15:31:59 - BikeBarge] Performing com.example.bikebarge.ItemListActivity activity launch
[2014-06-17 15:32:00 - BikeBarge] Automatic Target Mode: Unable to detect device compatibility. Please select a target device.
[2014-06-17 15:32:02 - BikeBarge] Uploading BikeBarge.apk onto device 'A00000415861A1'
[2014-06-17 15:32:02 - BikeBarge] Installing BikeBarge.apk...
[2014-06-17 15:32:06 - BikeBarge] Success!
[2014-06-17 15:32:06 - BikeBarge] Starting activity com.example.bikebarge.ItemListActivity on device A00000415861A1
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.bikebarge/.ItemListActivity }
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.bikebarge/.ItemListActivity } from null (pid=20767, uid=2000) requires android.permission.INTERNET
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.os.Parcel.readException(Parcel.java:1327)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.os.Parcel.readException(Parcel.java:1281)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1631)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.runStart(Am.java:433)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.run(Am.java:107)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.main(Am.java:80)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.internal.os.RuntimeInit.finishInit(Native Method)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:238)
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at dalvik.system.NativeStart.main(Native Method)

BikeBargeManifest.xml

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

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="19" />

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        android:permission="android.permission.INTERNET">

        <activity
            android:name="com.example.bikebarge.ItemListActivity"
            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="com.example.bikebarge.ItemDetailActivity"
            android:label="@string/title_item_detail"
            android:parentActivityName="com.example.bikebarge.ItemListActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.bikebarge.ItemListActivity" />
        </activity>
    </application>

</manifest>

Solution

  • You need to allow Internet permission to your app. Add this line to your manifest:

    <uses-permission android:name="android.permission.INTERNET" />