2016-12-26 10 views
1

私のコードは、pm install(root)を使用してダウンロードフォルダからapkをインストールします。問題は、アプリがインストールされた後、インストールされたアプリを自動的に起動する必要があることです。それ、どうやったら出来るの?インストール後にアプリを起動するにはどうすればよいですか?

File sdCard = Environment.getExternalStorageDirectory(); 
    String fileStr = sdCard.getAbsolutePath() + "/download";// + 
                  // "app-release.apk"; 

    File file = new File(fileStr, "xadb-build.apk"); 

    if (file.exists()) { 
     try { 
      String command; 
      command = "pm install -r " + file; 
      Process proc = Runtime.getRuntime().exec(
        new String[] { "su", "-c", command }); 
      proc.waitFor(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

} 

答えて

0

あなたはその受信機にあなたは、アプリケーションの起動活動することを、私は、コードのこの作品呼ぶのです

public class InstallReceiver extends BroadcastReceiver { 

     public InstallReceiver() 
     { 

     } 
     @Override 
     public void onReceive(Context context, Intent intent) { 

      Log.d("InstallReceiver", "Install detected."); 
      String packageName = intent.getPackage(); 

      if ("your_app_packageName".equalsIgnoreCase(packageName)) { 
       try { 
        Intent i = ctx.getPackageManager().getLaunchIntentForPackage(packageName); 
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        ctx.startActivity(i); 
       } catch (NameNotFoundException e) { 
        // TODO Auto-generated catch block 
       } 
      } 
     } 

    } 
+0

おかげで、起動するためのロジックを書くことができ上で、アクションPACKAGE_INSTALLEDのための放送受信機を登録することができますか? –

+0

@badmomアクションPACKAGE_INSTALLEDのために放送受信機を登録することができるので、あなたのアプリケーションがインストールされると、あなたはこの放送を受信し、その受信機であなたのアプリケーションを起動することができます –

関連する問題