自己的程序中有个放各种图标的gridview,想实现这样一个功能:添加设备中的其他程序的icon到这个gridview中,这样点击这个icon启动相应的第三方程序。
请问怎么实现呢?
请问怎么实现呢?
解决方案 »
- android 在耗时操作里面怎么显示ProgressDialog?
- AudioTrack::getMinFrameCount代码理解?
- android读取sd卡上的xml文件并解析
- 怎样由mp3文件得到专辑图片,求完整代码
- android有没有直接解析xml文本并按照xml布局显示内容的??
- Android异步只能更新UI吗?
- android多任务下载,并实时显示在多个进度条问题
- android新手,想自学下android,可是那个sdk那个自动在谷歌下载开发包下不了。
- 请问个手机远程控制智能家居的问题
- Button控件怎么在java代码中调用
- 聊天工具发表情在android上具体怎么实现的
- android对于短信的监听是否与其它的有区别?[短信监听第二贴]
btn.setOnClickListener(new OnClickListener() {
18. @Override
19. public void onClick(View v) {
20. Intent intent = new Intent();
21. // 通过指定包名来启动我们想要启动的 Activity 注意第二个参数是完全限定包名
22. intent.setClassName("com.cust.perm",
23. "com.cust.perm.PrivActivity");
24. startActivity(intent);
25. }
如果别人的程序是这样的话1. <?xml version="1.0" encoding="utf-8"?>
2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="com.cust.perm" android:versionCode="1"
4. android:versionName="1.0">
5. <application android:icon="@drawable/icon"
6. android:label="@string/app_name">
7. <activity android:name=".CustPermMainActivity"
8. android:label="@string/app_name">
9. <intent-filter>
10. <action android:name="android.intent.action.MAIN" />
11. <category
12. android:name="android.intent.category.LAUNCHER" />
13. </intent-filter>
14. </activity>
15. <activity android:name="PrivActivity"
16. android:permission="syh.permission.STARTMYACTIVITY">
17. <intent-filter>
18. <action android:name="android.intent.action.MAIN" />
19. <category
20. android:name="android.intent.category.LAUNCHER" />
21. </intent-filter>
22. </activity>
23. </application>
24. <uses-sdk android:minSdkVersion="9" />
25. <permission android:description="@string/startMyActivityDesc"
26. android:label="Start My Activity"
27. android:name="syh.permission.STARTMYACTIVITY"
28. android:protectionLevel="normal">
29. </permission>
30. </manifest> 26. });
1.package com.nico;
2.
3.import java.util.List;
4.
5.import android.app.Activity;
6.import android.content.Intent;
7.import android.content.pm.ApplicationInfo;
8.import android.os.Bundle;
9.import android.util.Log;
10.import android.view.LayoutInflater;
11.import android.view.View;
12.import android.view.ViewGroup;
13.import android.view.View.OnClickListener;
14.import android.widget.BaseAdapter;
15.import android.widget.Button;
16.import android.widget.ListView;
17.import android.widget.TextView;
18.
19.public class TestActivity extends Activity {
20. public List<ApplicationInfo> applist = null;
21. public ListView list = null;
22. public LayoutInflater inflater = null;
23.
24. /** Called when the activity is first created. */
25. @Override
26. public void onCreate(Bundle savedInstanceState) {
27. super.onCreate(savedInstanceState);
28. setContentView(R.layout.main);
29. list = (ListView) findViewById(R.id.list);
30. myAdapter madapter = new myAdapter();
31. inflater = getLayoutInflater();
32. applist = this.getPackageManager().getInstalledApplications(0);
33.
34. list.setAdapter(madapter);
35. // getPackageManager().getInstalledPackages(0)
36. }
37.
38. public class myAdapter extends BaseAdapter {
39.
40. @Override
41. public int getCount() {
42. // TODO Auto-generated method stub
43. return applist.size();
44. }
45.
46. @Override
47. public Object getItem(int position) {
48. // TODO Auto-generated method stub
49. return applist.get(position);
50. }
51.
52. @Override
53. public long getItemId(int position) {
54. // TODO Auto-generated method stub
55. return position;
56. }
57.
58. @Override
59. public View getView(final int position, View convertView, ViewGroup parent) {
60. TextView txt = null;
61. if (convertView != null) {
62. txt = (TextView) convertView.findViewById(R.id.appname);
63. txt.setText(applist.get(position).loadLabel(
64. TestActivity.this.getPackageManager()));
65. } else {
66. convertView = inflater.inflate(R.layout.item, null);
67. txt = (TextView) convertView.findViewById(R.id.appname);
68. // Log.v("Test",
69. // "2 "+applist.get(position).loadLabel(TestActivity.this.getPackageManager()));
70. txt.setText(applist.get(position).loadLabel(
71. TestActivity.this.getPackageManager()));
72. }
73. Button btn = (Button) convertView.findViewById(R.id.btn);
74. btn.setOnClickListener(new OnClickListener() {
75.
76. @Override
77. public void onClick(View v) {
78. Intent intent = getPackageManager()
79. .getLaunchIntentForPackage(
80. applist.get(position).packageName);
81. TestActivity.this.startActivity(intent);
82. }
83. });
84. return convertView;
85. }
86. }
87.}