2017-10-09 15 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