2014-02-18 3 views
0

Это, как я отправить егоОтправка ApplicationInfo от одного вида деятельности к другому

 Intent i = new Intent(v.getContext(), Permissions.class); 
     i.putExtra("AppSelected",installedApps.get((int) id)); 
     startActivity(i); 

Вот как я получить его: я не могу

 Bundle extras = getIntent().getExtras(); 
     ApplicationInfo a = extras.get[What do I put here?]("AppSelected"); 

, чтобы выяснить, получить эту работу. Есть предположения?

+0

ApplicationInfo является ' Исходный? –

+1

@ ρяσѕρєяK: Вообще-то, мне нужно было это посмотреть. – CommonsWare

+0

Кажется, я не могу заставить их работать. Чтобы сделать мою проблему более простой, я хочу взять экземпляр ApplicationInfo и использовать его поля в другом действии. – UserK

ответ

0

Зов getParcelable() на Bundle, чтобы получить ваш ApplicationInfo (который реализует интерфейс Parcelable). Вам нужно будет отдать результат ApplicationInfo.

+0

Можете ли вы подробнее рассказать о том, что это значит. Получает ли getParcelable() весь объект приложения? – UserK

+0

@ user3293569: «Получает ли getParcelable() весь объект приложения?» - да, для любой реализации «ApplicationInfo» учитывается «весь объект приложения». – CommonsWare

0

Предполагая, что installedApps.get... возвращает целое число, вы должны изменить код

Bundle extras = getIntent().getExtras(); 

для

int appId = getIntent().getIntExtra("AppSelected", 0); 
0

для получения каких-либо дополнительный просто использовать ключ, который используется для сохранения значения плюс по умолчанию в некоторых случаях примера

Bundle extras = getIntent().getExtras(); 
    int example = extras.getIntExtra("key", int defaultValue) ;//to retrieve an Integer 
    String example = extras.getStringExtra("key"); //to retrieve a String 

..... сын так далее

in your case 
    Bundle extras = getIntent().getExtras(); 
    ApplicationInfo a = extras.getIntExtra("AppSelected", 0); 
Смежные вопросы