Android onCreate没有触发新活动

时间:2017-03-14 10:31:01

标签: android

您好我在尝试更改下一个活动时执行一些代码,但似乎无法正常工作。如果用户已登录,则Previous活动是登录页面,直接进入新活动。但onCreate似乎没有发射。

主要活动

public class MainActivity extends AppCompatActivity {


    private View mMainView;
    private Meteor mMeteor;


    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("ACTIVITY");
        Log.d("SimpleActivity","OnCreate Started");

        if(MeteorSingleton.getInstance().isConnected()){
            Log.d("Connection", "Connected");
        }else{
            Log.d("Connection", "Not Connected");
        }

        }

        ........

奇怪的是setTitle可以工作但没有日志。

以下是上一次登录页面中的一些代码。

    @Override
    public void onConnect(boolean signedInAutomatically) {
        Log.i("Connection", "Connected to host server");
        if (mMeteor.isLoggedIn()) {
            openMainScreen(mLoginFormView);
        }
    }



     public void openMainScreen(View view) {
        Intent dashboard = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(dashboard);
    }

清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="system.carproject.adam.ams">

    <!-- To auto-complete the email text field in the login form with the user's emails -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />

    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        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=".MainActivity"
            android:label="Activity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps"></activity>

    </application>

</manifest>

如果有人可以教育我这将是伟大的。似乎可以搞清楚。

谢谢

2 个答案:

答案 0 :(得分:1)

您已经创建了两个LAUNCHER活动,并且在您的设备中创建了两个应用图标,因此如果您认为它直接打开MainActvity,那么如果您点击设备中的第二个应用图标用于相同的应用,则可能。检查你的设备。

首先从Android Manifest中的LAUNCHER移除MainActvity模式,然后您必须在登录Activity onCreate()中添加手动检查以获取登录状态,然后{{1} } startActvity()如果登录MainActivty为真。

答案 1 :(得分:0)

尝试从Manifest中的MainActivity的activity标记中删除intent filter标记: -

{"activity_objects":
{"mappings":
    {"activity_object":
        {"properties":
            {
            "name":{"type":"String"},
            ...
            "category_ids":{"type":"long"},
            "sorting_score_a":{"type":"long"},
            "sorting_score_b":{"type":"long"},
            "sorting_score_c":{"type":"long"},
            "sorting_score_d":{"type":"long"},

            ....
            }       
        }
    }
}
}