我必须检索应用程序所需的许可证总数,并将此值存储在第二个Activity中,但不要让它以意图打开。我写了这段代码。我将继续使用Intent在Activity之间传递数据。我想知道她为什么返回0.也许在for循环中出错了?我只是无法理解错误在哪里
try {
PackageInfo packageInfo = getActivity().getPackageManager().getPackageInfo(value2, PackageManager.GET_PERMISSIONS);
String[] requestedPermissions = packageInfo.requestedPermissions;
if ( requestedPermissions != null ) {
for ( i = 0; i < requestedPermissions.length; i++) {
permissions.append(requestedPermissions[i]+"\n");
int total = i++;
Intent intent = new Intent();
intent.putExtra("totalPermissions",total);
}
}
}
catch ( PackageManager.NameNotFoundException e ) {
e.printStackTrace();
}
在另一个PreferenceActivity
中Bundle extras = getIntent().getExtras();
if(extras!=null) {
int tot = extras.getInt("totalPermissions");
permissionsPreference.setSummary(""+tot);
在Prefence摘要中返回0.为什么?错误在哪里?
答案 0 :(得分:1)
在For Loop
Intent intent = new Intent();
intent.putExtra("totalPermissions",total);
然后Start
Activity
赞startActivity(intent);