Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is the code that reads the array of installed apps:
- (I have tested this and if works fine. I get the app list i want.)
- private void loadApps(){
- manager = getPackageManager();
- ApList.clear();
- Intent i = new Intent(Intent.ACTION_MAIN, null);
- i.addCategory(Intent.CATEGORY_LAUNCHER);
- List<ResolveInfo> availableActivities = manager.queryIntentActivities(i, 0);
- for(ResolveInfo ri:availableActivities){
- String temp = (String) ri.loadLabel(manager);
- if (temp.contains("Phoenix")) {
- if (!temp.contains("Phoenix Launcher")) {
- ApList.add(new ObjectApp(
- ri.loadLabel(manager),
- ri.activityInfo.packageName
- ));
- }
- }
- }
- ApAdapter.notifyDataSetChanged();
- }
- This is my Recycler adapter It only show a single item in the recycler view:
- public class ApAdapter extends RecyclerView.Adapter<ApAdapter.ApViewHolder> {
- private ArrayList<ObjectApp> mApList;
- class ApViewHolder extends RecyclerView.ViewHolder {
- final Button mApBtn;
- ApViewHolder(View ApView) {
- super(ApView);
- mApBtn = ApView.findViewById(R.id.ApBtn);
- }
- }
- ApAdapter(ArrayList<ObjectApp> ApList) {
- mApList = ApList;
- }
- @NonNull
- @Override
- public ApViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_app, parent, false);
- return new ApViewHolder(view);
- }
- @Override
- public void onBindViewHolder(@NonNull ApViewHolder holder, final int pos) {
- ObjectApp currentAp = mApList.get(pos);
- holder.mApBtn.setText(currentAp.getLabel());
- holder.mApBtn.setBackgroundResource(R.drawable.x_green_button);
- holder.mApBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = manager.getLaunchIntentForPackage(ApList.get(pos).getName().toString());
- assert intent != null;
- intent.putExtra("grade", grade);
- intent.putExtra("department", department);
- startActivity(intent);
- }
- });
- }
- @Override
- public int getItemCount() {
- return mApList.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment