gpt4 book ai didi

来自另一个应用程序的Android调用方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:19 25 4
gpt4 key购买 nike

我有 2 个安卓应用。两者都安装在手机上。假设这两个包的名称是 com.android.test1 和 com.android.test2。我如何从 test1.Main 类中调用方法 Main2method()

test1 的类:

package com.android.test1;
import android.app.Activity;
import android.os.Bundle;

public class Main extends Activity {

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

test2 类:

package com.android.test2;
import android.app.Activity;
import android.os.Bundle;

public class Main2 extends Activity {

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

public static void Main2method() {
//do something..
}
}

最佳答案

也许你可以广播一个 Intent 来调用它。

Intent it = new Intent("com.android.test2.Main2method");
context.sendBroadcast(it)

com.android.test2.Main2 中创建一个 BroadcastReceiver 来接收广播:

public class ActionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.android.test2.Main2method".equalsIgnoreCase(intent.getAction())) {
Main2method();
}
}
}

Main1 类的 onCreate 方法中注册接收器:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...

receiver = new ActionReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("com.android.test2.Main2method");
registerReceiver(receiver, filter);
...
}

关于来自另一个应用程序的Android调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12339083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com