gpt4 book ai didi

android - 如何在我的应用程序上为所有手机调用 Android 计算器

转载 作者:可可西里 更新时间:2023-11-01 19:09:35 24 4
gpt4 key购买 nike

  public static final String CALCULATOR_PACKAGE ="com.android.calculator2";
public static final String CALCULATOR_CLASS ="com.android.calculator2.Calculator";
Intent intent = new Intent();

intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(
CALCULATOR_PACKAGE,
CALCULATOR_CLASS));

以上仅适用于 HTC

  public static final String CALCULATOR_PACKAGE ="com.sec.android.app.popupcalculator";
public static final String CALCULATOR_CLASS ="com.sec.android.app.popupcalculator.Calculator";

以上适用于 S3

我需要一个适用于所有这些的代码。有人有任何线索吗?请给出示例代码

最佳答案

您可以在所有 Android 设备上尝试默认 calculator:

ArrayList<HashMap<String,Object>> items =new ArrayList<HashMap<String,Object>>();

final PackageManager pm = getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for (PackageInfo pi : packs) {
if( pi.packageName.toString().toLowerCase().contains("calcul")){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("appName", pi.applicationInfo.loadLabel(pm));
map.put("packageName", pi.packageName);
items.add(map);
}
}

现在您可以启动计算器应用程序:

if(items.size()>=1){
String packageName = (String) items.get(0).get("packageName");
Intent i = pm.getLaunchIntentForPackage(packageName);
if (i != null)
startActivity(i);
}
else{
// Application not found
}

对于 Api >= 15 ,您可以使用

Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_CALCULATOR);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

关于android - 如何在我的应用程序上为所有手机调用 Android 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com