質問編集履歴

1

わからない処理の後に続く処理を追加

2018/01/24 09:25

投稿

MH35
MH35

スコア73

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- MtpDeviceに対するoperationの発行方法がわかりません。具体的には、InitiateCaptureのoperationを発行したいです。
13
+ MtpDeviceに対するoperationの発行方法がわかりません。具体的には、InitiateCaptureのoperationを発行したいです。これは、カメラの写真を撮影するためです。
14
14
 
15
15
 
16
16
 
@@ -66,6 +66,48 @@
66
66
 
67
67
  // このあと、どのようなコードを書けばよいのかわかりません
68
68
 
69
+ // コマンドを発行した後は、このような流れになるはずです
70
+
71
+ int handleId;
72
+
73
+ while (true) {
74
+
75
+ try {
76
+
77
+ MtpEvent event;
78
+
79
+ event = mtpDevice.readEvent(null);
80
+
81
+ if (event.getEventCode() == MtpEvent.EVENT_OBJECT_ADDED) {
82
+
83
+ handleId = event.getParameter1();
84
+
85
+ break;
86
+
87
+ }
88
+
89
+ } catch (IOException e) {
90
+
91
+ // エラー処理を行う
92
+
93
+ }
94
+
95
+ }
96
+
97
+ // 外部ストレージに書くならこれ、内部ストレージに書く場合はParcelFileDescriptorを使う
98
+
99
+ String targetPath = "/path/to/output";
100
+
101
+ if (mtpDevice.importFile(handleId, targetPath)) {
102
+
103
+ // 成功時の処理
104
+
105
+ } else {
106
+
107
+ // エラー処理を行う
108
+
109
+ }
110
+
69
111
  ```
70
112
 
71
113