0

我目前正在为 android 开发一个应用程序,但是.. 我有一个活动,用户应该点击一个按钮,它会打开已经安装在用户设备上的 Android Terminal EMulator,但是现在,我有一个问题,我的代码不起作用..检查一下

ClockWorkModFlash.java

包 com.loadedgeek.myupgrade;

导入android.os.Bundle;导入android.app.Activity;导入android.os.Handler;导入android.content.Intent;导入android.widget.Button;导入android.view.View;

公共类 ClockWorkModFlash 扩展 Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.clockworkmod_activate);

    Button bClock = (Button) findViewById(R.id.FlashClockWork);
    bClock.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    Intent i = new Intent(Intent.ACTION_MAIN);
    PackageManager managerclock = getPackageManager();
    i = managerclock.getLaunchIntentForPackage(jackpal.androidterm);
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    startActivity(i);

    }

    });

}}

Eclipse 不允许我编译应用程序,因为这是最后一个活动,它说 Packagemanager 和 OnClickListner 无法解决......有什么想法吗?

4

2 回答 2

0
  Intent intent = new Intent("android.intent.action.MAIN");
                    intent.setComponent(ComponentName.unflattenFromString("application Package name /application launcher activity name"));
                    intent.addCategory("android.intent.category.LAUNCHER");
                    startActivity(intent);
于 2013-11-15T08:05:14.023 回答
0
PackageManager managerclock = getPackageManager();
Intent i = managerclock.getLaunchIntentForPackage(jackpal.androidterm);
i.addAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);

或者

Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(ComponentName.unflattenFromString("jackpal.androidterm");
intent.addCategory("android.intent.category.LAUNCHER");
startActivity(intent);

顺便说一句,您的错误“无法解决 Packagemanager 和 OnClickListner ”,我想您可以将代码更改为:

bClock.setOnClickListener(new OnClickListener() {…} 

至:

bClock.setOnClickListener(new View.OnClickListener() {…}
于 2013-11-15T10:19:53.180 回答