Я работаю с adb shell
командной строкой для связи между Android Studio
и Emulator
.
I запущен Activity
с Bundle extras
(например, Строка , Int ...), которую я отправляю из adb
командной строки, Все в порядке .
adb shell am start -W -a android.intent.action.VIEW -d "sheme://host/pathPrefix" --es extra_video "videoKey=xxx"
Теперь я пытаюсьсделать то же самое, но с другой Bundle extras
( строка JSON ),
Тогда я не смогу исправить LOGВЫХОД с форматом JSON string
.
Я не уверен, что заполнил командную строку точно .
adb shell am start -W -a android.intent.action.VIEW -d "sheme://host/pathPrefix"
--es extra_video "{\"name\":\"abc\",\"place\":\"xyz\"}"
// LOG OUTPUT : data = Bundle[{extra_recommendation_video=name:abc}]
adb shell am start -W -a android.intent.action.VIEW -d "sheme://host/pathPrefix"
--es extra_video "{"name":"abc","place":"xyz"}"
// LOG OUTPUT : data = Bundle[{extra_recommendation_video=name:abc}]
adb shell am start -W -a android.intent.action.VIEW -d "sheme://host/pathPrefix"
--es extra_video "{'name':'abc','place':'xyz'}"
// LOG OUTPUT : data = Bundle[{extra_recommendation_video=name:abc}]
Я хочу получить такой же выводв качестве входа .(Правильный вывод журнала: data = Bundle[{extra_recommendation_video={"name":"abc","place":"xyz"}]
)
Люди, которые знают правильный формат JSON string
, заполняют командную строку, пожалуйста, подробно,
Спасибо,
p / s: приведенные ниже коды точно, проблема только в input
из командной строки.
Manifest.xml
<activity
android:name=".MainActivity"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<!--scheme://host/pathPrefix-->
<data
android:host="host"
android:pathPrefix="/pathPrefix"
android:scheme="scheme" />
</intent-filter>
</activity>
MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(contentView);
if (getIntent() != null) {
Video video = null;
if (getIntent().getExtras() != null) {
String data = getIntent().getExtras().getString(EXTRA_VIDEO);
// LOG OUTPUT HERE IS WRONG FORMAT, NOT IS JSON STRING FORMAT
Log.d(LogcatConstants.LIFE_CYCLE, " data = " + data);
video = TVApp.GSON.fromJson(data, Video.class);
}
if (video != null) {
Intent i = new Intent(this, VideoActivity.class);
i.putExtra(VideoPlayerActivity.EXTRA_VIDEO, gson.toJson(video));
startActivity(i);
}
}
}