消息推动用的第三方(个推),现在客户需要开机动画,我用splash AnimationDrawable实现的,但是貌似冲突,一直导致程序崩溃。请大神帮我看看是哪里问题。
程序太多,如果还需要看哪里,我再发,求指点解决办法
splashscreen.java
public class SplashScreen extends Activity {
private Thread mSplashThread;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
final ImageView splashImageView = (ImageView) findViewById(R.id.SplashImageView);
splashImageView.setBackgroundResource(R.drawable.flag);
final AnimationDrawable frameAnimation = (AnimationDrawable)splashImageView.getBackground();
splashImageView.post(new Runnable(){
public void run() {
frameAnimation.start();
}
});
final SplashScreen sPlashScreen = this;
mSplashThread = new Thread(){
public void run(){
try {
synchronized(this){
wait(5000);
}
}
catch(InterruptedException ex){
}
finish();
Intent intent = new Intent();
intent.setClass(sPlashScreen, MainActivity.class);
startActivity(intent);
}
};
mSplashThread.start();
}
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
return false;
}
public boolean onTouchEvent(MotionEvent evt)
{
if(evt.getAction() == MotionEvent.ACTION_DOWN)
{
synchronized(mSplashThread){
mSplashThread.notifyAll();
}
}
return true;
}
}
mainfest.xml
<activity
android:name="ixz.fish_help_app.SplashScreen"
android:theme="@style/Theme.Transparent" >
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<activity
android:name="ixz.fish_help_app.MainActivity"
android:alwaysRetainTaskState="true"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
错误位置(个推接受代码GetuiReceiver.java)
```switch (bundle.getInt(PushConsts.CMD_ACTION)) {
case PushConsts.GET_CLIENTID:
// 获取ClientID(CID)
// 第三方应用需要将CID上传到第三方服务器,并且将当前用户帐号和CID进行关联,以便日后通过用户帐号查找CID进行消息推送
comm_frame.dev.client_id = bundle.getString("clientid"); 是这里
Log.e("hahahahha",comm_frame.dev.client_id); (这里开机动画完了打印一次,登录APP后打印一次)
错误信息
07-08 09:28:20.965 10160-10160/ixz.fish_help_app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start receiver comm.GetuiReceiver: java.lang.NullPointerException
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2287)
at android.app.ActivityThread.access$1600(ActivityThread.java:140)
...
Caused by: java.lang.NullPointerException
at comm.GetuiReceiver.onReceive(GetuiReceiver.java:95)
at android.os.Handler.dispatchMessage(Handler.java:99)
...