private void startOtherAPP(int index) {
if(index <= ITEM_NUM_INVALID || index >= ITEM_NUM_MAX) return;
String class_name;
String package_name = app_list_packageName[index];
if(app_list_className[index].startsWith("."))
{
class_name = package_name + app_list_className[index];
}
else
{
class_name = app_list_className[index];
}
if(index==1)
{
class_name = app_list_className[index];
}
if(checkApkExist(getApplicationContext(),package_name))
{
Intent intent = new Intent();
ComponentName cn = new ComponentName(package_name,class_name);
intent.setComponent(cn);
intent.setAction("android.intent.action.VIEW");
startActivity(intent);
}
else
{
Uri u = Uri.parse("market://details?id="+ package_name);
Intent i = new Intent(Intent.ACTION_VIEW,u);
startActivity(i);
}
}
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
if(index <= ITEM_NUM_INVALID || index >= ITEM_NUM_MAX) return;
String class_name;
String package_name = app_list_packageName[index];
if(app_list_className[index].startsWith("."))
{
class_name = package_name + app_list_className[index];
}
else
{
class_name = app_list_className[index];
}
if(index==1)
{
class_name = app_list_className[index];
}
if(checkApkExist(getApplicationContext(),package_name))
{
Intent intent = new Intent();
ComponentName cn = new ComponentName(package_name,class_name);
intent.setComponent(cn);
intent.setAction("android.intent.action.VIEW");
startActivity(intent);
}
else
{
Uri u = Uri.parse("market://details?id="+ package_name);
Intent i = new Intent(Intent.ACTION_VIEW,u);
startActivity(i);
}
}
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
本文详细阐述了如何通过编程实现启动特定应用的功能,包括检查应用是否存在、获取应用信息及启动应用的过程。
1549

被折叠的 条评论
为什么被折叠?



