Что мне нужно сделать, чтобы ImageButton запустить другое приложение в Android - PullRequest
0 голосов
/ 15 марта 2012

Я создаю приложение.но теперь я хочу открыть другое приложение с кнопкой изображения.я искал в Google около 5 дней, есть много awnsers, но не правильный.

есть awnsers, но не полное объяснение.

я нашел эту часть

Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity")); startActivity(intent);

но где я должен поместить это, чтобы это работало на моей кнопке изображения.и какие классы или вещи я должен сделать.

Это мой appactifity.java

    package eu.cornholio.rom;

import android.app.Activity;
import android.os.Bundle;

public class CornholioROMActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }


}

, а это мой main.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:gravity="center"
         android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/cornh" android:contentDescription="@string/cornholio"/>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/cornholio" />

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/cwm" android:clickable="true" android:contentDescription="@string/cmw"/>

    <ImageButton
        android:id="@+id/imageButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/jkay"
         android:clickable="true"
          android:contentDescription="@string/jkay"/>


</LinearLayout>            

здесь мойкод

    package eu.cornholio.rom;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

public class CornholioROMActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //finding your image button
        ImageButton btn = (ImageButton) findViewByid(R.id.imageButton1);

        //setting onClick listener
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.setComponent(new ComponentName("eu.chainfire.cfroot.cwmmanager",
                                       "eu.chainfire.cfroot.cwmmanager.MainActivity"));
                startActivity(intent); 
            }
        });

    }

}

greetz drgekko

Ответы [ 3 ]

0 голосов
/ 15 марта 2012

Вы должны определить OnClickListener для вашего ImageButton.

Это будет выглядеть примерно так:

  myFancyButton.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
    startActivity(intent);
  }
});
0 голосов
/ 15 марта 2012

Вы также можете вызвать другое приложение, не зная основной деятельности:

imageButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
          Intent intent = getPackageManager().getLaunchIntentForPackage("com.package.address"); 
          startActivity(intent);

        }
});
0 голосов
/ 15 марта 2012

установите onClickListener для вашего ImageButton.

yourImageButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setComponent(new ComponentName("com.package.address",
                               "com.package.address.MainActivity"));
        startActivity(intent); 
    }
});

Обновите

, например, если вы хотите установить действие нажатия на imageButton1, тогдаВам необходимо внести следующие изменения в метод onCreate :

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //finding your image button
    ImageButton btn = (ImageButton) findViewById(R.id.imageButton1);

    //setting onClick listener
    btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.setComponent(new ComponentName("com.package.address",
                                   "com.package.address.MainActivity"));
            startActivity(intent); 
        }
    });

}
...