错误:
java.lang.ClassCastException: DataCountUtilities cannot be cast to android.app.Activity
注意:
我已经在我的清单中声明了以下内容 - 但我感觉它可能会因为它不是一项活动而崩溃 - 我只是需要它在我调用后在后台运行 - 所以我'我不确定它是否应该被定义为服务 - 或者只是像我一样将其留作类。
<activity
android:name="com.tracfone.generic.clientprovisioninghandler.DataCountUtilities">
</activity>
来源:
public class DataCountUtilities {
//swap the content of a string by switching place
//each pair of consecutive characters
//If string length is odd last character is left in place
public String swappedMdn(Context ctx){
TelephonyManager tm = (TelephonyManager)ctx.getSystemService(Context.TELEPHONY_SERVICE);
//Extract the phone number from the TelephonyManager instance
String mdn = tm.getLine1Number();
//Insure MDN is 10 characters
if (mdn.length() < 10 || mdn == null) mdn ="0000000000";
//Extract last 10 digits of MDN
if (mdn.length() > 10) mdn = mdn.substring(mdn.length() - 10, mdn.length());
char data[] = mdn.toCharArray();
char digit;
for (int index = 0; index < mdn.length() - (mdn.length())%2; index+=2){
digit = data[index];
data[index] = data[index+1];
data[index+1] = digit;
Intent i = new Intent(ctx, DataCountService.class);
i.putExtra("key", mdn);
startActivity(i);
}
return String.valueOf(data);
}
private void startActivity(Intent i) {
// TODO Auto-generated method stub
}}
答案 0 :(得分:0)
你做的不是使用activity的正确方法。如果你想要这个类应该在后台运行然后将它声明为Service
。Activity有自己的生命周期你必须{{ 3}}。
答案 1 :(得分:0)
您希望平台作为Android Activity类调用的类必须扩展Activity
。
变化
public class DataCountUtilities {
到
public class DataCountUtilities extends Activity {
当然如果你不把它写成一个Activity(身体看起来不像一个),那么你需要适当地调用它。例如,如果您希望它像Akshay建议的那样是服务,则需要扩展Service
。或者是其中一些子类。