小编Hus*_*adi的帖子

将EditText添加到警报对话框.

我有以下代码创建警告对话框,我添加了两个编辑文本但是一旦我运行应用程序,EditText中的值将不会被重新执行,我的应用程序崩溃与NullPointerException:

代码是:

AlertDialog.Builder alert = new AlertDialog.Builder(this);
        LayoutInflater inflater=this.getLayoutInflater();
        final EditText usernameInput=(EditText)findViewById(R.id.dialogusername);
        final EditText passwordInput=(EditText)findViewById(R.id.dialogpassword);   
        alert.setView(inflater.inflate(R.layout.dialog,null));
        alert.setTitle("Enter Password");
        alert.setMessage("Enter password to remove the app:");
        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            //provide user with caution before uninstalling
            //also here should be added a AsyncTask that going to read the password and once its checked the password is correct the app will be removed
            value1=usernameInput.getText().toString();
            value2=passwordInput.getText().toString();
            if(value1.equals(null)&&value2.equals(null))
            {Toast.makeText(context, "Enter username and password", Toast.LENGTH_SHORT).show();}
         }
        });
        });
        alert.show();
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

9
推荐指数
2
解决办法
3万
查看次数

使用GCM以阿拉伯语发送通知

我正在使用GCM向Android设备发送通知.

我用来在GCMIntentService中获取消息的代码如下:

@Override
    protected void onMessage(Context ctx, Intent intent) {
        // TODO Auto-generated method stub
        String j =intent.getStringExtra("message");
        generateNotification(ctx, j);
    }
Run Code Online (Sandbox Code Playgroud)

我在服务器端使用以推送或发送这些通知的代码如下:

Dim request As WebRequest = WebRequest.Create("https://android.googleapis.com/gcm/send")
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.Headers.Add("Authorization: key=AIzaSyA47-XMaePL1mmI0P1yQ9V4sntMVn9q-1o")
request.Headers.Add("Sender: id=648406549877")
Dim collapsKey = Guid.NewGuid.ToString("n")
Dim postdata As String = "registration_id=" + regid_String_reveived_from_device_after_registering_with_GCM + "&data.message=" + TextBox1.Text + "&collapse_key=" + collapsKey
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postdata)
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim resposne As …
Run Code Online (Sandbox Code Playgroud)

asp.net android google-cloud-messaging

5
推荐指数
1
解决办法
2358
查看次数

使用JSON将多重通知发送到GCM

我想使用GCM一次向多个注册设备发送多个通知,我知道使用纯文本无法完成,因为它只能用于一次发送一个设备的通知.所以我决定使用JSON创建HTTP正文内容,并设法生成以下代表JSON对象的字符串:

{ collapse_key : my_CollapseKey, data.message : myMessage,  registration_ids : ["regid1","regid2",...] }
Run Code Online (Sandbox Code Playgroud)

但每当我发送请求时,我都会得到400响应,其中声明了错误请求,当我参考GCM架构概述文档时,它指出

响应400仅适用于JSON请求.表示请求无法解析为JSON,或者包含无效字段(例如,传递一个字符串,其中包含预期的数字)

以下是我在ASP.Net中开发的用于发送请求的Web应用程序的快照:

request.ContentType = "application/json"
        request.Headers.Add("Authorization: key=My_Server_Key")
        request.Headers.Add("Sender: id=myProject_ID")
        Dim collapsKey = Guid.NewGuid.ToString("n")
        Dim data As String = "{ collapse_key : " + collapsKey + "," + " data.message : " + HttpUtility.UrlEncode(TextBox1.Text) + "}" + ", registration_ids : " + jsonids1 + "}"
        Dim byteArray As Byte() = Encoding.UTF8.GetBytes(data)
        request.ContentLength = byteArray.Length
        Dim dataStream As Stream = request.GetRequestStream
        dataStream.Write(byteArray, 0, byteArray.Length)
        dataStream.Close()
Run Code Online (Sandbox Code Playgroud)

知道如何正确解析我的JSON对象并发送多个通知吗?任何帮助将完全赞赏.

问候

android json push-notification google-cloud-messaging

3
推荐指数
1
解决办法
1万
查看次数