如何使用Java / Android创建一个按钮打开另一个应用程序?

时间:2011-01-10 07:45:35

标签: java android

我正在努力学习制作一个简单的应用程序,它有几个按钮,每个打开另一个应用程序,以消除对其他应用程序的需求。我只是想不出来。另外,我可以在此活动中放置多个按钮来打开另一个应用程序吗?我也找不到答案。

Button batteryhistory = (Button)findViewById(R.string.BatteryHistoryButtonDialog);

    batteryhistory.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View view) {
      Intent i = new Intent(); 
       ComponentName n = new 
       ComponentName("com.android.settings", 
       "com.android.settings.BatteryHistory"); 
       i.setComponent(n); 
       startActivity(i);

非常感谢你的帮助:D

2 个答案:

答案 0 :(得分:4)

希望这种实施能够发挥作用:

if (v.getId() == R.id.ImageButton01) {

            if (keyCode == KeyEvent.KEYCODE_ENTER) {
                // Toast.makeText(this, "Application Name", Toast.LENGTH_LONG).show();
                Intent i = new Intent();
                i.setAction(Intent.ACTION_VIEW);
                i.setClassName("com.xxx.your_package_name",
                        "com.xxx.your_class_name");

                startActivity(i);

            }
        }  

唯一的事情是你必须事先安装应用程序。

答案 1 :(得分:1)

这是从其他应用程序打开应用程序(ex whatsapp)的代码

public class MainActivity extends Activity{

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button bClock = (Button) findViewById(R.id.button1);
        bClock.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent i = new Intent(Intent.ACTION_MAIN);
                PackageManager managerclock = getPackageManager();
                i = managerclock.getLaunchIntentForPackage("com.whatsapp");
                i.addCategory(Intent.CATEGORY_LAUNCHER);
                startActivity(i);
            }
        });
    }
}