我正在从我的Activity
文件中启动Application.java
,如下所示:
Intent intent = new Intent(getApplicationContext(), PinLoginActivity.class);
intent.putExtra("LockScreen", true);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
这就是我在Activity
中的onCreate()
中收到的值:
lockScreen = getIntent().getBooleanExtra("LockScreen", false);
我试图通过Intent
传递一个布尔值,但我没有通过Intent
中的Activity
收到任何值。我甚至检查了onNewIntent
。但我没有任何价值。
答案 0 :(得分:1)
看起来没问题。尝试重建或清理您的项目。
但我强烈建议避免使用原始“字符串”作为参数的关键。请改用常量字段,例如:
class MyActivity extends Activity {
...
public final static String LOCK_SCREEN_PARAM = "LockScreen";
public static Intent getIntent (Context context, bool lockScreen){
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra(LOCK_SCREEN_PARAM, true);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
return intent;
}
void onCreate(Bundle savedInstanceState) {
...
lockScreen = getIntent().getExtras().getBoolean(LOCK_SCREEN_PARAM);
...
}
}
当你开始活动时:
startActivity(MyActivity.getIntent(getApplicationContext(), true));