2011-12-15 17 views
2

ホーム画面アプリである私のアプリケーションから自分の携帯電話に付随するデフォルトのホーム画面を呼び出す必要があります。私は、検索しようと、このコードは、デフォルトのランチャーのために他のすべてのランチャーのために働いていないが、このアプリケーションからデフォルトのホーム画面を呼び出す

ArrayList<Intent> intentList = new ArrayList<Intent>(); 
    Intent intent=null; 
    final PackageManager packageManager=getPackageManager(); 
    for(final ResolveInfo resolveInfo:packageManager.queryIntentActivities(new 
        Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME), 
                 PackageManager.MATCH_DEFAULT_ONLY)) { 
    intent=packageManager.getLaunchIntentForPackage(
          resolveInfo.activityInfo.packageName); 
    intentList.add(intent); 
    } 

を見つけました。私はコード内のブレークポイントを使用してみましたが、リストの0のインデックスでは、デフォルトのランチャーの意図があるはずですが、意図的に値を保持していないことがわかりました。何らかの許可が必要ですか ありがとう

答えて

1

は「com.sonyericsson.home.HomeActivity」である

Intent intent = new Intent(); 
    intent.setClassName("com.sonyericsson.home", "com.sonyericsson.home.HomeActivity"); 
    intent.addCategory(Intent.CATEGORY_LAUNCHER); 
    startActivity(intent); 

それがデフォルトとして設定され、ホーム画面のために働くこと

6

希望します。あなただけのシンプルなパッケージ名が「com.sonyericsson.home」とクラスであるResolveInfoから名前とクラスを取得し、sonyercissonのためのような意図てmanualyを作ることができます

Intent startMain = new Intent(Intent.ACTION_MAIN); 
     startMain.addCategory(Intent.CATEGORY_HOME); 
     startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(startMain); 
+0

動作しますが、私はそのデフォルトとして設定されていない場合でも、私の携帯電話に付属してホーム画面を開きたいです –

関連する問題