如何调用安卓计算器我的应用程序的所有手机 [英] How to call android calculator on my app for all phones

查看:245
本文介绍了如何调用安卓计算器我的应用程序的所有手机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  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的上述工程唯一

the above works for HTC only

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

有关S3上述作品

我需要一个code,它适用于所有的人。有人用任何线索?请举例code

I need a code that works for all of them. Someone with any clue ?Please give an example code

推荐答案

您可以尝试为默认值计算器上的所有Android设备:

you can try as to Default calculator on all android devices:

ArrayList<HashMap<String,Object>> items =new ArrayList<HashMap<String,Object>>();
PackageManager pm;
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);
 }
}

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

and now you can launch calculator application as:

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
   }

这篇关于如何调用安卓计算器我的应用程序的所有手机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆