पर क्लिक करें मैं Robotium framework का उपयोग कर ब्लैक-बॉक्स परीक्षण कर रहा हूं। प्रत्येक बार जब मैं एक नया एप्लिकेशन इंस्टॉल करता हूं तो परीक्षण के तहत ऐप स्टेटस बार में एक अधिसूचना भेजता है। मैं उस अधिसूचना पर क्लिक करना चाहता हूं, लेकिन मुझे अभी भी ऐसा करने का उचित तरीका नहीं मिला।प्रोग्रामेटिक रूप से एंड्रॉइड अधिसूचना
मैं मैन्युअल रूप से एक अधिसूचना पर क्लिक करते हैं मैं इस logcat
लाइनों मिलती है:
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.FrontActivity bnds=[0,38][240,86] (has extras) u=0} from pid -1
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.ResultActivity u=0} from pid 8600
I/ActivityManager( 148): Displayed com.test.package/.activity.FrontActivity: +1s183ms
I/ActivityManager( 148): Displayed com.test.package/.activity.ResultActivity: +744ms
मैं जानता हूँ कि Robotium ही समय में 2 अलग अलग अनुप्रयोगों परीक्षण नहीं कर सकते हैं, साथ ही मैं जानता हूँ कि आप में से अधिसूचना प्राप्त नहीं कर सकता एक बाहरी आवेदन।
मैं भी लंबित आशय हो और इसे आग निम्नलिखित कोड का उपयोग करके करने की कोशिश की:
Context context = this.getInstrumentation().getTargetContext().getApplicationContext();
String intentClassString = "com.test.package.activity.FrontActivity";
Class<?> intentClass = null;
try {
intentClass = Class.forName(intentClassString);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Intent intent = new Intent(context, intentClass);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE);
try {
pendingIntent.send();
} catch (CanceledException e) {
e.printStackTrace();
}
गतिविधि वास्तव में पता चला है, लेकिन यह मैं क्या मैन्युअल रूप से इसे लागू द्वारा प्राप्त से अलग है। मुझे लगता है कि मेरे द्वारा पारित संदर्भ में कुछ गलत है, या जिस तरह से मैं लंबित इरादा कहता हूं।
इस मुद्दे के बारे में कोई संकेत? अधिसूचना पर क्लिक अनुकरण करने का कोई बेहतर तरीका है?