可以从java类调用android类吗?
我有一个扩展活动的单安卓类可以从java类调用android类吗?,java,android,nullpointerexception,Java,Android,Nullpointerexception,我有一个扩展活动的单安卓类 public class MainAct extends Activity{ Context context; SourceJava srcClass; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub supe
public class MainAct extends Activity{
Context context;
SourceJava srcClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
context = this;
System.out.println("inside oncreate");
setContentView(R.layout.main);
srcClass = new SourceJava();
}
}
我有另一个Java类,如下所示,这是从MainAct类调用的
public class SourceJava {
public SourceJava(){
System.out.println("inside constructor***");
MyClass myClass = new MyClass();
if(myClass != null){
System.out.println("**not null");
myClass.powerOff();
}
}
}
在SourceJava中,我调用了另一个类。i、 e
public class MyClass extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
System.out.println("**inside myclass");
powerOff();
}
public void powerOff(){
System.out.println("**inside powerOff");
Intent call = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:5555"));
startActivity(call);
}
}
}
我在第startActivity(call)
行收到NullPointerException,
myClass.powerOff()代码>和
srcClass=newsourcejava()代码>
这段代码有什么问题?您将MyClass
(这是一个活动类)视为常规Java类。MyClass
活动既没有注册也没有加载,因此对startActivity
的调用在这里毫无意义。为此,您需要通过构造函数将Context
的引用传递给SourceClass
和MyClass
。问题可能在于意图……意图可能无法正确创建。请尝试调试并显示日志以了解详细信息。我还要问你一个问题。是否可以访问android内部API。i、 e com.android.internal.telephony.@shiv1229-我想说No.com.android.internal是第三方API。看看谷歌的帖子和讨论,我在这里又发布了一个问题,我请求你看看,请帮助我解决这个问题