0

错误:

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

    }}
4

2 回答 2

0

您所做的不是使用活动的正确方式。如果您希望此类应在后台运行,则将其声明为Service.Activity 有自己的生命周期,您必须遵循

于 2013-06-24T20:47:42.437 回答
0

您希望平台作为 Android Activity 类调用的类必须扩展Activity

改变

public class DataCountUtilities {

public class DataCountUtilities extends Activity {

当然,如果您没有将其编写为 Activity(主体看起来并不特别像),那么您需要适当地调用它。例如,如果您希望它成为 Akshay 建议的服务,则需要对其进行扩展Service。或者任何一个的子类。

于 2013-06-24T20:53:25.940 回答