您好我在尝试更改下一个活动时执行一些代码,但似乎无法正常工作。如果用户已登录,则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>
如果有人可以教育我这将是伟大的。似乎可以搞清楚。
谢谢
答案 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"},
....
}
}
}
}
}