Преглед изворни кода

Clickable real apps

master
Chris Smith пре 14 година
родитељ
комит
15c5893830

BIN
code/ContextHome/dist/ContextHome.apk Прегледај датотеку


+ 27
- 2
code/ContextHome/src/uk/co/md87/android/contexthome/modules/AppsModule.java Прегледај датотеку

22
 
22
 
23
 package uk.co.md87.android.contexthome.modules;
23
 package uk.co.md87.android.contexthome.modules;
24
 
24
 
25
+import android.content.ComponentName;
25
 import android.content.Context;
26
 import android.content.Context;
27
+import android.content.Intent;
28
+import android.content.pm.ActivityInfo;
29
+import android.content.pm.PackageInfo;
30
+import android.content.pm.PackageManager;
31
+import android.content.pm.ResolveInfo;
32
+import android.util.Log;
26
 import android.view.View;
33
 import android.view.View;
27
 import android.widget.ImageView;
34
 import android.widget.ImageView;
28
 import android.widget.LinearLayout;
35
 import android.widget.LinearLayout;
41
     public View getView(final Context context, final int weight) {
48
     public View getView(final Context context, final int weight) {
42
         final View view = View.inflate(context, R.layout.scroller, null);
49
         final View view = View.inflate(context, R.layout.scroller, null);
43
         final LinearLayout layout = (LinearLayout) view.findViewById(R.id.content);
50
         final LinearLayout layout = (LinearLayout) view.findViewById(R.id.content);
51
+        final PackageManager pm = context.getPackageManager();
52
+        final Intent intent = new Intent(Intent.ACTION_MAIN);
53
+        final View.OnClickListener listener = new View.OnClickListener() {
44
 
54
 
45
-        for (int i = 0; i < 20; i++) {
55
+            public void onClick(View view) {
56
+                final ActivityInfo info = (ActivityInfo) view.getTag();
57
+                final Intent intent = new Intent();
58
+                intent.setAction(Intent.ACTION_MAIN);
59
+                intent.setClassName(info.packageName, info.name);
60
+                context.startActivity(intent);
61
+            }
62
+        };
63
+
64
+        intent.addCategory(Intent.CATEGORY_LAUNCHER);
65
+        
66
+        for (ResolveInfo res : pm.queryIntentActivities(intent, 0)) {
46
             final ImageView image = new ImageView(context);
67
             final ImageView image = new ImageView(context);
47
-            image.setImageResource(R.drawable.blank);
68
+            image.setImageDrawable(res.activityInfo.loadIcon(pm));
69
+            image.setFocusable(true);
70
+            image.setClickable(true);
71
+            image.setTag(res.activityInfo);
72
+            image.setOnClickListener(listener);
48
             layout.addView(image, 48, 48);
73
             layout.addView(image, 48, 48);
49
         }
74
         }
50
 
75
 

Loading…
Откажи
Сачувај