java – 无法使用getApplication方法强制转换为Application
发布时间:2020-12-15 04:13:37 所属栏目:Java 来源:网络整理
导读:我有类App包含我的应用程序的上下文. 但是当我编译时,我在这一行的其他类中遇到了错误: App app = (App) getApplication(); 班级应用: import android.app.Application;import android.app.Notification;import android.app.NotificationManager;import an
我有类App包含我的应用程序的上下文.
但是当我编译时,我在这一行的其他类中遇到了错误: App app = (App) getApplication(); 班级应用: import android.app.Application; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.support.v4.app.NotificationCompat; import android.util.Log; import com.example.Radio_KPI.R; import com.example.Radio_KPI.Utils.Const; public class App extends Application { private MediaPlayer player; private NotificationManager manager; private String curSong; private Context Main_con; public Context getMain_con() { return Main_con; } public void setMain_con(Context main_con) { Main_con = main_con; } public String getCurSong() { return curSong; } public void setCurSong(String curSong) { this.curSong = curSong; } public NotificationManager getManager() { return manager; } public void setManager(NotificationManager manager) { this.manager = manager; } public MediaPlayer getPlayer() { return player; } public void setPlayer(MediaPlayer mPlayer) { this.player = mPlayer; } } 错误: java.lang.ClassCastException: android.app.Application cannot be cast to com.example.Radio_KPI.Application.AppContext at com.example.Radio_KPI.Activities.Main.onCreate(Main.java:62) at android.app.Activity.performCreate(Activity.java:4531) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2150) AndroidManifest.xml中: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Radio_KPI" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8"/> <uses-sdk android:targetSdkVersion="14"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:label="@string/app_name" android:icon="@drawable/one"> <activity android:name=".Activities.Main" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".Activities.About" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> </activity> <activity android:name=".Activities.SavedSongs" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/savedSongs"> </activity> <service android:name=".Services.MyService"> </service> </application> </manifest> 解决方法<application android:label="@string/app_name" android:icon="@drawable/one" android:name=".App" > 您需要在清单中指定使用自定义应用程序. 这是完整的AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Radio_KPI" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8"/> <uses-sdk android:targetSdkVersion="14"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:name=".App" android:label="@string/app_name" android:icon="@drawable/one"> <activity android:name=".Activities.Main" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".Activities.About" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> </activity> <activity android:name=".Activities.SavedSongs" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/savedSongs"> </activity> <service android:name=".Services.MyService"> </service> </application> </manifest> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |