質問編集履歴
1
呼び出しているところのソースを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -84,4 +84,84 @@
|
|
84
84
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
85
85
|
Xamarin 6.3(build 864)
|
86
86
|
Mac Note Pro
|
87
|
-
OS X Yosemite(10.10.5)
|
87
|
+
OS X Yosemite(10.10.5)
|
88
|
+
|
89
|
+
###追記
|
90
|
+
|
91
|
+
実際に呼び出しているところのコードも貼り付けておきます。
|
92
|
+
|
93
|
+
XXXPage.cs
|
94
|
+
```
|
95
|
+
namespace XaXXXXX
|
96
|
+
{
|
97
|
+
public class XXXPage : ContentPage
|
98
|
+
{
|
99
|
+
public XXXPage()
|
100
|
+
{
|
101
|
+
Content = new StackLayout
|
102
|
+
{
|
103
|
+
|
104
|
+
Children = {
|
105
|
+
// 省略
|
106
|
+
}
|
107
|
+
};
|
108
|
+
|
109
|
+
Appearing += (sender, e) =>
|
110
|
+
{
|
111
|
+
XXXInit();//呼び出し元
|
112
|
+
};
|
113
|
+
|
114
|
+
this.Disappearing += (sender, e) =>
|
115
|
+
{
|
116
|
+
XXXTerm();
|
117
|
+
};
|
118
|
+
}
|
119
|
+
|
120
|
+
void XXXInit()
|
121
|
+
{
|
122
|
+
DependencyService.Get<IMisc>().XXXInit();
|
123
|
+
}
|
124
|
+
|
125
|
+
void XXXTerm()
|
126
|
+
{
|
127
|
+
DependencyService.Get<IMisc>().XXXTerm();
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
```
|
132
|
+
iMisc.cs
|
133
|
+
```
|
134
|
+
using System;
|
135
|
+
namespace XaXXXXX
|
136
|
+
{
|
137
|
+
public interface IMisc
|
138
|
+
{
|
139
|
+
void XXXInit();
|
140
|
+
void XXXTerm();
|
141
|
+
}
|
142
|
+
}
|
143
|
+
```
|
144
|
+
Droid/Misc.cs
|
145
|
+
```
|
146
|
+
[assembly: Xamarin.Forms.Dependency(typeof(Misc))]
|
147
|
+
namespace XaXXXXX.Droid
|
148
|
+
{
|
149
|
+
public class Misc : IMisc
|
150
|
+
{
|
151
|
+
[DllImport("XXX")]
|
152
|
+
public static extern void XXXinitialize();
|
153
|
+
[DllImport("XXX")]
|
154
|
+
public static extern int XXXterminate();
|
155
|
+
|
156
|
+
public void XXXInit()
|
157
|
+
{
|
158
|
+
XXXinitialize(device, ver, false); // libsd_xxx.so内の関数
|
159
|
+
}
|
160
|
+
|
161
|
+
public void XXXTerm()
|
162
|
+
{
|
163
|
+
XXXterminate();
|
164
|
+
}
|
165
|
+
}
|
166
|
+
}
|
167
|
+
```
|