2015-09-11 77 views
0

我有一个启动器活动,但Android工作室说“默认活动未找到”。这是在我添加一个登录活动后开始的,我希望它成为启动器活动(仅在用户注册时才有意义)。所以我希望一旦用户安装我的应用并提供他们的凭证,主要活动就成为启动器活动。非常感谢您的帮助。 这是我的登录和主要活动的清单。Android错误:默认活动未找到

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

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="22" /> 
    <library /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.BATTERY_STATS"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
    <uses-permission android:name="android.permission.SEND_SMS"/> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="mypackage.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="otherpackage.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <permission 
     android:name="mypackage.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 
    <permission 
     android:name="com.google.android.c2dm.permission.RECEIVE"></permission> 
    <permission 
     android:name="otherpackage.permission.C2D_MESSAGE" 
     android:protectionLevel="signature"></permission> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/image" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <meta-data android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
     <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="key"/> 
     <Activity 
      android:name=".Login" 
      android:label="REGISTER" 
      android:noHistory="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </Activity> 
     <Activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAINACTIVITY" /> 

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

     <Activity 
      android:name=".MapActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAPACTIVITY" /> 

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

     <!--<activity 
      android:name=".MyMapActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MYMAPACTIVITY" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity>--> 
     <receiver 
      android:name="com.google.android.gms.gcm.GcmReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
     <!--Receives the actual messages. --> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     <!--this is to support pre KitKat --> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
       <category android:name="mypackage" /> 
       <category android:name="otherpackage" /> 
      </intent-filter> 
     </receiver> 
     <receiver android:name=".MapActivity$ResponseReceiver"> 
      <intent-filter> 
       <action android:name="mypackage.MapActivity.ResponseReceiver.ACTION_RESP" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 
     <service 
      android:name=".MapActivity$MyGcmListenerService" 
      android:exported="false" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      </intent-filter> 
     </service> 
     <service 
      android:name=".Login$MyInstanceIDListenerService" 
      android:exported="false"> 
      <intent-filter> 
       <action android:name="com.google.android.gms.iid.InstanceID"/> 
      </intent-filter> 
     </service> 
     <service android:name="mypackage.RegistrationIntentService"></service> 

     <service 
      android:name=".FetchAddressIntentService" 
      android:exported="false"/> 

    </application> 

</manifest> 

这是主要活动。

public class MainActivity extends MapActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 

       Intent i = new Intent(MainActivity.this, MapActivity.class); 
       startActivity(i); 
      } 
     }, 8000); 
    } 
} 

N.B主要活动扩展了我的MapActivity,它扩展了FragmentActivity。这是starnge,但我发现这在logcat。我还没有实现iheartradio库或任何东西。 “导致:java.lang.ClassNotFoundException:com.clearchannel.iheartradio.alarm.LiveDeltaUpdateService”

+0

你能后完全清单? –

回答

1

变化活动的活动清单文件

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

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="22" /> 
    <library /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.BATTERY_STATS"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
    <uses-permission android:name="android.permission.SEND_SMS"/> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="mypackage.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="otherpackage.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <permission 
     android:name="mypackage.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 
    <permission 
     android:name="com.google.android.c2dm.permission.RECEIVE"></permission> 
    <permission 
     android:name="otherpackage.permission.C2D_MESSAGE" 
     android:protectionLevel="signature"></permission> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/image" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <meta-data android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
     <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="key"/> 
     <activity 
      android:name=".Login" 
      android:label="REGISTER" 
      android:noHistory="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAINACTIVITY" /> 

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

     <activity 
      android:name=".MapActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAPACTIVITY" /> 

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

     <!--<activity 
      android:name=".MyMapActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MYMAPACTIVITY" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity>--> 
     <receiver 
      android:name="com.google.android.gms.gcm.GcmReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
     <!--Receives the actual messages. --> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     <!--this is to support pre KitKat --> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
       <category android:name="mypackage" /> 
       <category android:name="otherpackage" /> 
      </intent-filter> 
     </receiver> 
     <receiver android:name=".MapActivity$ResponseReceiver"> 
      <intent-filter> 
       <action android:name="mypackage.MapActivity.ResponseReceiver.ACTION_RESP" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 
     <service 
      android:name=".MapActivity$MyGcmListenerService" 
      android:exported="false" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      </intent-filter> 
     </service> 
     <service 
      android:name=".Login$MyInstanceIDListenerService" 
      android:exported="false"> 
      <intent-filter> 
       <action android:name="com.google.android.gms.iid.InstanceID"/> 
      </intent-filter> 
     </service> 
     <service android:name="mypackage.RegistrationIntentService"></service> 

     <service 
      android:name=".FetchAddressIntentService" 
      android:exported="false"/> 

    </application> 

</manifest> 
+0

我会纠正我的评论。它解决了这个问题。 –

1

您有一个错字。 <activity>,而不是<Activity>

+0

感谢捕捉。不幸的是,错误依然存在。我清理并重建了我的项目,但还没有运气。 –

1

一个完整的AndroidManifest必须包含标签和它里面。

必须与它的完全限定类名申报活动,并包声明可以用一个点(。),如果该活动是包中的应用程序内部(在manifest.package属性声明)

进行中省略

这样的:

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

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

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" /> 
<uses-permission android:name="android.permission.READ_OWNER_DATA" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

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

<application 
    android:name=".BvApplication" 
    android:hardwareAccelerated="true" 
    android:largeHeap="true" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".BvNewsstandActivity" 
     android:launchMode="singleTop" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
    </activity> 
    <activity 
     android:name=".LoginActivity" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="br.com.digitalpages.reader.activity.HelpActivity" 
     android:theme="@style/Transp" /> 
    <activity 
     android:name="br.com.digitalpages.reader.ReaderActivity" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 
    <activity 
     android:name="br.com.digitalpages.commons.activity.LoadingActivity" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" /> 
    <activity 
     android:name="br.com.digitalpages.commons.activity.WebActivity" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 
</application> 

PS:你必须阅读从错误产生的堆栈跟踪,同时运行的应用程序,你可以在Eclipse中或Android Studio或Android设备监视器使用的logcat窗口列入Android SDK安装。

+0

有帮助吗?将答案标记为正确。 –

0

你可以试试这个:

文件 - >的Invalidate Caches->重启