2017-10-09 60 views
-3

我正在使用下面的代碼來顯示默認計算器。但是我得到了activityNotFound異常。如何打開默認計算器

public static final String CALCULATOR_PACKAGE ="com.android.calculator2"; 
public static final String CALCULATOR_CLASS ="com.android.calculator2.Calculator"; 

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

       try { 
        startActivity(intent); 
       } catch (ActivityNotFoundException noSuchActivity) { 
        // handle exception where calculator intent filter is not registered 
       } 
+0

https://stackoverflow.com/questions/13662506/how-to-call-android-calculator-on-my-app-for-全部手機 –

+0

有〜10,000個Android設備型號。沒有必要有一個計算器。那些可以擁有他們想要的任何計算器應用程序。沒有必要有'com.android.calculator2','com.android.calculator2.Calculator'不必是一個導出的活動,更不用說啓動器的活動了。 – CommonsWare

+0

@AmjadOmari感謝您的幫助。這個對我有用。 –

回答

0

這個意圖應該把你的工作做好

Intent i = new Intent(); 
i.setAction(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_APP_CALCULATOR); 
startActivity(i); 
+0

請注意,這與[JavaDocs對該類別所說的]不匹配(https://developer.android.com/reference/android/content/Intent.html#CATEGORY_APP_CALCULATOR)。 – CommonsWare