如何将Bundle args = new Bundle(); args.putString(Intent.EXTRA_PACKAGE_NAME, mPackageName); args.putString(Intent.EXTRA_PERMISSION_GROUP_NAME, mPermGroupName); args.putParcelable(Intent.EXTRA_USER, mUser); args.putString(EXTRA_CALLER_NAME, mCaller); args.putLong(EXTRA_SESSION_ID, mSessionId); args.putString(GRANT_CATEGORY, mGranted);Buddle传输的参数数据改编成实例化对象set参数,在另一个地方去get它
时间: 2024-03-27 17:39:53 浏览: 47
要将Bundle传输的参数数据改编成实例化对象set参数,需要在目标对象中定义相应的变量,并提供相应的set方法。
例如,你可以定义一个名为MyObject的对象,它包含如下变量:
```
public class MyObject {
private String packageName;
private String permissionGroupName;
private User user;
private String caller;
private long sessionId;
private String granted;
// 以下省略构造方法和其他方法
}
```
然后,在MyObject类中提供相应的set方法,以便在其他地方设置这些参数:
```
public void setPackageName(String packageName) {
this.packageName = packageName;
}
public void setPermissionGroupName(String permissionGroupName) {
this.permissionGroupName = permissionGroupName;
}
public void setUser(User user) {
this.user = user;
}
public void setCaller(String caller) {
this.caller = caller;
}
public void setSessionId(long sessionId) {
this.sessionId = sessionId;
}
public void setGranted(String granted) {
this.granted = granted;
}
```
接下来,在需要传递参数的地方,可以通过MyObject对象的set方法将参数值设置进去。例如:
```
MyObject obj = new MyObject();
obj.setPackageName(mPackageName);
obj.setPermissionGroupName(mPermGroupName);
obj.setUser(mUser);
obj.setCaller(mCaller);
obj.setSessionId(mSessionId);
obj.setGranted(mGranted);
```
最后,在另一个地方需要获取这些参数时,可以通过MyObject对象的get方法获取参数值。例如:
```
public void doSomething(MyObject obj) {
String packageName = obj.getPackageName();
String permissionGroupName = obj.getPermissionGroupName();
User user = obj.getUser();
String caller = obj.getCaller();
long sessionId = obj.getSessionId();
String granted = obj.getGranted();
// 使用获取到的参数值进行操作
}
```
阅读全文