关于源码开发的问题??? http://dev.10086.cn/cmdn/wiki/index.php?doc-view-5089.html貌似可以用我正在研究的 uri的这个东西来解决吧我也是很糊涂啊 但是没有人能够说明 悲剧ing 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像不行,除非你知道AlarmClock的packagename+classname,所以这只能在framework层处理。 package com.android.alarmclock;public class AlarmClock extends Activity implements OnItemClickListener { 我的意思是咱们在应用层无法import这个类 // 定义 PackageManager 实例 private PackageManager m_packageMgr; // 定义 ResolveInfo 的数组 private List<ResolveInfo> m_infos; // 在onCreate()函数中取得所有安装的App // 注意是类型为Intent.ACTION_MAIN + Intent.CATEGORY_LAUNCHER 的App // 这至少能包含你所说的“源码”中能看到的App,你也可以自己过滤掉你不想要的App @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); m_packageMgr = getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); m_infos = m_packageMgr.queryIntentActivities(mainIntent, 0); Collections.sort(m_infos, new ResolveInfo.DisplayNameComparator(m_packageMgr)); } // 当你点击MenuItem的时候就掉用这个函数吧 protected static void startApp(Context context, ResolveInfo info) { String packageName = info.activityInfo.applicationInfo.packageName; String className = info.activityInfo.name; Log.d("startApp", "packageName = " + packageName + "\tclassName = " + className); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setComponent(new ComponentName(packageName, className)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); context.startActivity(intent); } // 定义 PackageManager 实例 private PackageManager m_packageMgr; // 定义 ResolveInfo 的数组 private List<ResolveInfo> m_infos; // 在onCreate()函数中取得所有安装的App // 注意是类型为Intent.ACTION_MAIN + Intent.CATEGORY_LAUNCHER 的App // 这至少能包含你所说的“源码”中能看到的App,你也可以自己过滤掉你不想要的App @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); m_packageMgr = getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); m_infos = m_packageMgr.queryIntentActivities(mainIntent, 0); Collections.sort(m_infos, new ResolveInfo.DisplayNameComparator(m_packageMgr)); } // 当你点击MenuItem的时候就掉用这个函数吧 protected static void startApp(Context context, ResolveInfo info) { String packageName = info.activityInfo.applicationInfo.packageName; String className = info.activityInfo.name; Log.d("startApp", "packageName = " + packageName + "\tclassName = " + className); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setComponent(new ComponentName(packageName, className)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); context.startActivity(intent); } 通过packageManager去搜一下package,然后过滤一下就行了。如果怕程序过滤太死板了,可以写设置接口,按设置的过滤就可以了。参考launcher 相关代码 Android SIM认证 eclipse中alt +/无法调用android的库,在线等。。。? 请教高手这是什么控件 gridview item 设置为disenable Android版的Javaeye新闻阅读器 任务栏的通知,点开后,怎样才能点一下消失? Eclipse模拟器 CPU/ABI 选择X86问题 AlarmManager定时循环操作的重叠问题 android jpeg2000编解码 怎样快速入门android并学好? 有关canvas 类的两个函数的问题 android操作系统的性能问题
private PackageManager m_packageMgr;
// 定义 ResolveInfo 的数组
private List<ResolveInfo> m_infos; // 在onCreate()函数中取得所有安装的App
// 注意是类型为Intent.ACTION_MAIN + Intent.CATEGORY_LAUNCHER 的App
// 这至少能包含你所说的“源码”中能看到的App,你也可以自己过滤掉你不想要的App
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
m_packageMgr = getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); m_infos = m_packageMgr.queryIntentActivities(mainIntent, 0);
Collections.sort(m_infos, new ResolveInfo.DisplayNameComparator(m_packageMgr));
}
// 当你点击MenuItem的时候就掉用这个函数吧
protected static void startApp(Context context, ResolveInfo info)
{
String packageName = info.activityInfo.applicationInfo.packageName;
String className = info.activityInfo.name;
Log.d("startApp", "packageName = " + packageName + "\tclassName = " + className);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(packageName, className));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
context.startActivity(intent);
}
// 定义 PackageManager 实例
private PackageManager m_packageMgr;
// 定义 ResolveInfo 的数组
private List<ResolveInfo> m_infos; // 在onCreate()函数中取得所有安装的App
// 注意是类型为Intent.ACTION_MAIN + Intent.CATEGORY_LAUNCHER 的App
// 这至少能包含你所说的“源码”中能看到的App,你也可以自己过滤掉你不想要的App
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
m_packageMgr = getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); m_infos = m_packageMgr.queryIntentActivities(mainIntent, 0);
Collections.sort(m_infos, new ResolveInfo.DisplayNameComparator(m_packageMgr));
}
// 当你点击MenuItem的时候就掉用这个函数吧
protected static void startApp(Context context, ResolveInfo info)
{
String packageName = info.activityInfo.applicationInfo.packageName;
String className = info.activityInfo.name;
Log.d("startApp", "packageName = " + packageName + "\tclassName = " + className);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(packageName, className));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
context.startActivity(intent);
}