2013-08-07 82 views
2

我有一個很奇怪的問題。當我從eclipse運行應用程序時,一切看起來都很好。但是,一旦apk安裝在設備上,單擊該圖標將返回一條消息,指出「未安裝應用程序」。我收到以下logcat中讀出:啓動器沒有啓動意向

08-07 08:06:43.183: E/Launcher(502): Launcher does not have the permission to launch Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.dsi.ant.HCAApplication/.WelcomeActivity }. Make sure to create a MAIN intent-filter for the corresponding activity or use the exported attribute for this activity. tag=ApplicationInfo(title=Health Creation Australia) intent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.dsi.ant.HCAApplication/.WelcomeActivity } 
    08-07 08:06:43.183: E/Launcher(502): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.dsi.ant.HCAApplication/.WelcomeActivity } from ProcessRecord{4203f5b0 502:com.android.launcher/u0a13} (pid=502, uid=10013) requires android.permission.ACCESS_NETWORK_STATE 
    08-07 08:06:43.183: E/Launcher(502): at android.os.Parcel.readException(Parcel.java:1425) 
    08-07 08:06:43.183: E/Launcher(502): at android.os.Parcel.readException(Parcel.java:1379) 
    08-07 08:06:43.183: E/Launcher(502): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1761) 
    08-07 08:06:43.183: E/Launcher(502): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1411) 
    08-07 08:06:43.183: E/Launcher(502): at android.app.Activity.startActivityForResult(Activity.java:3351) 
    08-07 08:06:43.183: E/Launcher(502): at android.app.Activity.startActivity(Activity.java:3518) 
    08-07 08:06:43.183: E/Launcher(502): at com.android.launcher2.Launcher.startActivity(Launcher.java:1952) 
    08-07 08:06:43.183: E/Launcher(502): at com.android.launcher2.Launcher.startActivitySafely(Launcher.java:1970) 
    08-07 08:06:43.183: E/Launcher(502): at com.android.launcher2.AppsCustomizePagedView.onClick(AppsCustomizePagedView.java:597) 
    08-07 08:06:43.183: E/Launcher(502): at android.view.View.performClick(View.java:4088) 
    08-07 08:06:43.183: E/Launcher(502): at android.view.View$PerformClick.run(View.java:16984) 
    08-07 08:06:43.183: E/Launcher(502): at android.os.Handler.handleCallback(Handler.java:615) 
    08-07 08:06:43.183: E/Launcher(502): at android.os.Handler.dispatchMessage(Handler.java:92) 
    08-07 08:06:43.183: E/Launcher(502): at android.os.Looper.loop(Looper.java:137) 
    08-07 08:06:43.183: E/Launcher(502): at android.app.ActivityThread.main(ActivityThread.java:4745) 
    08-07 08:06:43.183: E/Launcher(502): at java.lang.reflect.Method.invokeNative(Native Method) 
    08-07 08:06:43.183: E/Launcher(502): at java.lang.reflect.Method.invoke(Method.java:511) 
    08-07 08:06:43.183: E/Launcher(502): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
    08-07 08:06:43.183: E/Launcher(502): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
    08-07 08:06:43.183: E/Launcher(502): at dalvik.system.NativeStart.main(Native Method) 

從這個我認爲這是一個權限問題,但我相信,我擁有所有正確的權限設置:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:versionCode="020400" 
    android:versionName="2.4.1" 
    package="com.dsi.ant.HCAApplication"> 

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:anyDensity="false" 
/> 

<uses-permission android:name="com.dsi.ant.permission.ANT" /> 
<uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" /><application  android:label="@string/app_name" android:icon="@drawable/hca_logo"  android:permission="android.permission.ACCESS_NETWORK_STATE"> 
    <activity android:label="@string/app_name" android:name="com.dsi.ant.HCAApplication.TakeMeasurements" android:launchMode="singleTask" android:screenOrientation="sensorLandscape"> 
    </activity> 

    <service android:name="com.dsi.ant.HCAApplication.ANTPlusService" android:label="@string/app_name" android:exported="false" /> 
    <activity android:name="com.dsi.ant.HCAApplication.FairwellActivity" android:label="Fairwell" android:screenOrientation="sensorLandscape"></activity> 
    <activity android:name="com.dsi.ant.HCAApplication.ScreenSaver" android:label="Health Creation Australia" android:screenOrientation="sensorLandscape"></activity> 
    <activity android:name="com.dsi.ant.HCAApplication.WelcomeActivity" android:label="@string/app_name" android:screenOrientation="sensorLandscape"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

<uses-sdk android:minSdkVersion="7"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 

如果您可以以任何方式幫助我,我真的很感激它,因爲我無所適從。

+0

你聲明文件在清單 – Prakhar

回答

1

刪除此行從應用標籤

<application  

      android:permission="android.permission.ACCESS_NETWORK_STATE"> 

    </application> 
+0

這工作完美。非常感謝。 – user1528944

+2

你能解釋爲什麼這有所作爲?我從gui manifest編輯器獲得了應用程序的許可。 –

0
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 
</application> 
0

只是下面

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.dsi.ant.HCAApplication" 
    android:versionCode="020400" 
    android:versionName="2.4.1" > 

    <supports-screens 
     android:anyDensity="false" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" /> 

    <uses-sdk 
     android:minSdkVersion="7" 
     android:targetSdkVersion="18" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 
    <uses-permission android:name="com.dsi.ant.permission.ANT" /> 
    <uses-permission android:name="com.dsi.ant.permission.ANT_ADMIN" /> 

    <application 
     android:label="@string/app_name" 
     android:permission="android.permission.ACCESS_NETWORK_STATE" > 
     <activity 
      android:name="com.dsi.ant.HCAApplication.TakeMeasurements" 
      android:label="@string/app_name" 
      android:launchMode="singleTask" 
      android:screenOrientation="sensorLandscape" > 
     </activity> 

     <service 
      android:name="com.dsi.ant.HCAApplication.ANTPlusService" 
      android:exported="false" 
      android:label="@string/app_name" /> 

     <activity 
      android:name="com.dsi.ant.HCAApplication.FairwellActivity" 
      android:label="Fairwell" 
      android:screenOrientation="sensorLandscape" > 
     </activity> 
     <activity 
      android:name="com.dsi.ant.HCAApplication.ScreenSaver" 
      android:label="Health Creation Australia" 
      android:screenOrientation="sensorLandscape" > 
     </activity> 
     <activity 
      android:name="com.dsi.ant.HCAApplication.WelcomeActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="sensorLandscape" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

</manifest> 

希望它會幫助您更換您的清單代碼。