android - 无法通过android中的意图传递数据
问题描述
我正在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);
这就是我在 in 中接收值的Activity
方式onCreate()
:
lockScreen = getIntent().getBooleanExtra("LockScreen", false);
我正在尝试传递一个布尔值,但Intent
我没有通过Intent
. Activity
我什至检查了onNewIntent
. 但我没有得到任何价值。
解决方案
看起来还可以。尝试重建或清理您的项目。
但我强烈建议避免使用原始“字符串”作为参数的键。改用常量字段,例如:
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));
推荐阅读
- python - 以视觉方式表示大量数据的最佳方式是什么?
- php - 为什么我在 Laravel 中使用 storage::files 得到空数组?
- c# - Blazor - 使用 INT ID 的级联下拉列表不填充数据
- node.js - 配置passport.js和react js
- java - 添加到 Linkedlist 后,int 与 Integer 的比较不起作用
- excel - 从一个函数返回一个布尔值到另一个函数 - VBA
- python - 如何使用 python bs4 获取维基百科表中的第一列值?
- javascript - 函数式 JavaScript,函数在条件映射数组上返回 bool
- ios - 相机胶卷图像大于相机预览
- vim - vim在“类型号和
(空取消)”