Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 广播意图接收错误_Android_Broadcastreceiver_Google Cloud Messaging - Fatal编程技术网

Android 广播意图接收错误

Android 广播意图接收错误,android,broadcastreceiver,google-cloud-messaging,Android,Broadcastreceiver,Google Cloud Messaging,我创建了一个应用程序,它使用GCM推送通知服务发送更新和通知。 这是应用程序的链接 问题是在一些设备上,应用程序在第一次运行时崩溃,尤其是在Kit-Kat上。在反馈报告中,我的错误是: java.lang.RuntimeException: Error receiving broadcast Intent act=mnnit.vinayakAj.culrav2k14.app.DISPLAY_MESSAGE flg=0x10 (has extras) } in mnnit.vinayakAj.c

我创建了一个应用程序,它使用GCM推送通知服务发送更新和通知。 这是应用程序的链接 问题是在一些设备上,应用程序在第一次运行时崩溃,尤其是在Kit-Kat上。在反馈报告中,我的错误是:

java.lang.RuntimeException: Error receiving broadcast Intent
act=mnnit.vinayakAj.culrav2k14.app.DISPLAY_MESSAGE flg=0x10 (has extras) } in 
mnnit.vinayakAj.culrav2k14.q@41c61758
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:765)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4744)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Null parameters are not accepted
at a.a.a.a.a.d.<init>(Unknown Source)
at a.a.a.a.a.d.a(Unknown Source)
at mnnit.vinayakAj.culrav2k14.q.onReceive(Unknown Source)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:755)
我遵循GCM服务器服务提供的代码。
请帮我解决这个问题。

请输入接收器代码我真的很抱歉,但我不明白你想说什么。我正在使用SDK版本19创建此应用程序,问题出现在4.0+设备上。
Bcoz of your SDK tools are maybe Upgrade version doesnt support.. for example you create your project in SDK min level is 8 but your android SDk version tools is APK level 19 means it may occurs so go to your SDk Folder and delete tools Folder and then Copy your cuurent version of SDk tools must be put it in your SDK Folder.
you are using low level APK version means it will generate this line bcoz you want to access high high level code in Upgrade version supported methods means this lines will shows of your methods..

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {

and also set this line in your activity

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
            int shortAnimTime = getResources().getInteger(
                    android.R.integer.config_shortAnimTime);
or 
if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }

Ref Below link: for Broadcast Receiver.

http://developer.android.com/guide/components/services.html
-----------------------------------------------------------

'startService(i1);'//Start Service.
Use startActivityForResult() instead of startActivity() bcoz in service we use 'startActivityResult()'
method bcoz broadcast receiver will give the response of onresultActivity.. so you could use this line

Use 'startActivityForResult(intent,requestcode)' instead of 'startActivity()'.

thank you.
Bcoz of your SDK tools are maybe Upgrade version doesnt support.. for example you create your project in SDK min level is 8 but your android SDk version tools is APK level 19 means it may occurs so go to your SDk Folder and delete tools Folder and then Copy your cuurent version of SDk tools must be put it in your SDK Folder.
you are using low level APK version means it will generate this line bcoz you want to access high high level code in Upgrade version supported methods means this lines will shows of your methods..

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {

and also set this line in your activity

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
            int shortAnimTime = getResources().getInteger(
                    android.R.integer.config_shortAnimTime);
or 
if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }

Ref Below link: for Broadcast Receiver.

http://developer.android.com/guide/components/services.html
-----------------------------------------------------------

'startService(i1);'//Start Service.
Use startActivityForResult() instead of startActivity() bcoz in service we use 'startActivityResult()'
method bcoz broadcast receiver will give the response of onresultActivity.. so you could use this line

Use 'startActivityForResult(intent,requestcode)' instead of 'startActivity()'.

thank you.