Ano*_*m.. 10 methods static android package
我有2个Android应用程序.两者都安装在手机上.让我们说两者的包名是com.android.test1和com.android.test2.我如何Main2method()从test1.Main类调用该方法?
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);
}
}
Run Code Online (Sandbox Code Playgroud)
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..
}
}
Run Code Online (Sandbox Code Playgroud)
Sim*_*Liu 13
也许你可以广播一个Intent来调用它.
Intent it = new Intent("com.android.test2.Main2method");
context.sendBroadcast(it)
Run Code Online (Sandbox Code Playgroud)
在com.android.test1.Main2中创建一个BroadcastReceiver来接收广播:
public class ActionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.android.test2.Main2method".equalsIgnoreCase(intent.getAction())) {
Main2method();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在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);
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8363 次 |
| 最近记录: |