怎么把别人的软件添加到自己的程序中? 自己的程序中有个放各种图标的gridview,想实现这样一个功能:添加设备中的其他程序的icon到这个gridview中,这样点击这个icon启动相应的第三方程序。请问怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取系统中用户所安装的所有程序到GridView中显示,点击获取相应程序信息,并启动! 看看自带的例子啊,Home项目应该就是的了,貌似 原来的出处忘了哪里了,是关于自定义权限的。如果别人的程序没有做不能调用的权限限制的话,可以这样写 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. }); 我这有个是listview的,你可以参考下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.} android中socket通信 Android 开发公园导游软件 LBS地图和定位怎么做 Android设置时间问题 android opengl 2d纹理的问题 如何在Android虚拟机中,同步Google Contacts 中的联系人? 问题: 关于android Application 关于ListView分页加载的问题 ContactPlugin is never used locally是什么情况 念小茜,问你一个问题 fragment出错 聊天工具发表情在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.}