我正在创建一款应用。但现在我希望它用图像按钮打开另一个应用程序。我搜索了谷歌5天,有很多芒果但不是正确的。
有芒果,但没有完整的解释。
我找到了这个部分
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
答案 0 :(得分:0)
将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);
}
});
}
答案 1 :(得分:0)
你必须为你的ImageButton定义一个OnClickListener。
这看起来有点像这样:
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);
}
});
答案 2 :(得分:0)
您还可以在不知道主要活动的情况下调用其他应用程序:
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(intent);
}
});