Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
Java 单元测试Android通知_Java_Android_Unit Testing_Push Notification_Android Pendingintent - Fatal编程技术网

Java 单元测试Android通知

Java 单元测试Android通知,java,android,unit-testing,push-notification,android-pendingintent,Java,Android,Unit Testing,Push Notification,Android Pendingintent,我正在测试我的Android应用程序,我想测试,根据服务器发送的JSON,系统正在创建我期望的通知 例如,我有这样的测试: public void testCustomIconAndLinkNotification() throws Exception { String title = "title"; String message = "message"; String json = "{\n" + " \"android_backgr

我正在测试我的Android应用程序,我想测试,根据服务器发送的JSON,系统正在创建我期望的通知

例如,我有这样的测试:

public void testCustomIconAndLinkNotification() throws Exception {
    String title = "title";
    String message = "message";
    String json = "{\n" +
            "      \"android_background_data\": true,\n" +
            "      \"__title\": \"" + title + "\",\n" +
            "      \"message\": \"" + message + "\",\n" +
            "      \"imageUrl\": \"nothing\",\n" +
            "      \"link\": \"nothing\"\n" +
            "    }";
    Notification n = osbnr.createNotificationFromServerData(getInstrumentation().getContext(), new JSONObject(json));
    Bundle b = n.extras;
    assertEquals(title, b.get("android.title"));
    assertEquals(message, b.get("android.text"));
}
虽然有点粗糙,但它确实在工作。但是,我遇到了很多安全问题,因为进行测试的过程与运行应用程序的过程不同,并且它正在创建
安全异常

例如,在这里:

java.lang.SecurityException:权限拒绝:不允许pid=9487,uid=10373,(需要uid=10374)中的getIntentSender()作为包mypackage.test发送 在android.os.Parcel.readException(Parcel.java:1620) 位于android.os.Parcel.readException(Parcel.java:1573) 位于android.app.ActivityManagerProxy.getIntentSender(ActivityManagerNative.java:4039) 位于android.app.pendingent.getActivity(pendingent.java:312)

因为我正在尝试创建
挂起的意图
以在通知中作为
操作

PendingIntent linkPendingIntent = PendingIntent.getActivity(context, 2, i, PendingIntent.FLAG_UPDATE_CURRENT);
我的问题是:

关于我目前所做的测试,我想知道是否有一种合适的方法来测试通知是否被正确创建和显示,或者我们应该只是“希望和祈祷”