SySightはURLスキームによって、とてもパワフルに動作します。
その仕様は洗練されていてるので、ぜひ他のアプリケーションから呼び出してその機能を実感してください。
スキーム+ホスト+クエリ郡で呼び出すことで、命令を実行できます。
クエリ郡に与えるパラメータは、URLエンコードしたものを与えます。
スキーム
・sysight://
Sysightを起動します。
ホスト
・open
ただ起動するだけです。他の文字列でも構いません。
・free
メモリを解放します。
・allkill
メモリを解放します。但し、Sysight自身も終了します。
クエリ
・music=[BOOL]
メモリ解放時に音楽を停止するか否かを決定します。
BOOLにYES,true,1等を与える事で、音楽を停止せずにメモリ解放することが出来ます。
・redirect=[URL]
作業終了後、[URL]を呼び出します。
Sysightが終了した場合は再起動時に同じURLを呼び出します。
・background=[flag]
バックグラウンド動作を切り替えます。[flag]=YESでバックグラウンド動作を設定、それ以外で解除します。
・get=[parms]
[parms]に必要なパラメータをJSON配列(Array)で与えます。
redirectで指定した[URL]の中の"%@"がパラメータのJSON文字列に置換されます。
置換されるJSONは{パラメータ:値}の辞書(Object)となっています。
パラメータと得られるデータは以下の通りです。
・app
起動中のアプリケーションのプロセスを配列で渡します。
アプリケーションはIDとNameから成る辞書となっています。
・process
全てのプロセスを配列で渡します。
・memory
現在のメモリの状態を辞書で渡します。
最大メモリ、使用中、非使用中、固定中、その他、空きメモリがそれぞれ、
max、active、inactive、wire、other、freeに与えられます。
・cpu
過去30秒間のCPU使用率を配列で渡します。
・battery
バッテリーの状態を辞書で渡します。
levelとstateが含まれます。
例1) sysight://free
Sysightを起動し、メモリを開放します。
例2) sysight://open?redirect=http://www.google.com
Sysightを起動しつつ、SafariでGoogleを起動します。
例3) sysight://free?redirect=libhttp:
Sysightを起動し、メモリを開放した後にLibingを起動します。
例4) sysight://open?redirect=libscript://Alert?%@&get=%5B%22app%22%2C%22memory%22%5D
Libing側にブックマークレットを追加してから実行します。
LibingでアプリケーションとメモリーのJSON文字列を確認します。
2012/10/30
URLスキーム
登録:
コメントの投稿 (Atom)
Powered by Blogger.
なんだかわかりません。具体例で教えてください。
返信削除ランチャー何とかなんてわかりません。
よろしくお願いします。
Safariで適当なページをブックマークし、URLをsysight://freeに書き換えます。
削除そのブックマークを利用することで、これらの機能を利用することが出来ます。
ランチャーとは、そのようなブックマークを登録し、Safariよりも使いやすくしたアプリケーションの事です。
音楽を止めずにメモリーを解放するにはどうすればいいですか?
返信削除説明を読んでも分かりませんでした。
よろしくお願いします。
sysight://free
削除これが通常のメモリ解放用のURLになります。
クエリと言いますのは、URLの?以降の文字列になります。
複数のクエリを与える場合は、&を挟みます。
ご質問は音楽を止めずに〜ということなので、URLは
sysight://free?music=YES
となります。
使い方紹介ページを参考にallkillを試したのですが、SySight本体は終了せずにとどまったままのようです。仕様通りに終了してもらいたいのですが…。こちらiPhone4S、iOS6.1.3最新です。拝
返信削除URLが正しいか、もう一度ご確認下さい。
削除単に終了するだけであれば、sysight://allkillとなります。
allkill後のアプリ自身が終了とは、マルチタスクからも消えている状態のことですか?
返信削除仰るマルチタスクというのが何を指すのかは察しかねますが、
削除プロセスとしてのSySightは終了しています。
ホームボタンをダブルクリックした場合のタスク一覧(アプリの起動履歴)は残りますが、アプリケーション自体は動作していません。
allkillした後の、アプリ履歴を消す方法はありますか?
返信削除ありません。iOSにおいて当該操作を行うアプリケーションを作成することは不可能です。
削除appのプロセスを配列で渡したいのですが、どのようなURLスキームになるでしょうか?
返信削除どのアプリに渡したいか、そのアプリのURLスキームの仕様等貼って頂けると助かります。
削除sysight://open?redirect=hoge://fuga?%25%40&get=%5B%22app%22%5D
上記URLスキームの場合、リダイレクト先がhoge://fuga?[appの配列のJSON(UTF8エンコ済み)]となります。
ああすいません、正しくは、{app: appの配列}のJSON文字列ですね。
削除記事最下部のサンプルにLibingを使った例がありますので、そちらもご参照下さい。
Q.1 音楽を止めずにallkillを実行し、最後にSySightの画面で解放できたメモリの円グラフを確認するには下記の要領でしょうか?
返信削除sysight://allkill?music=YES&redirect=sysight://
Q.2 上記のURLだと、最後にアプリの画面には自動的に遷移しないので、ディスプレイ上部に表示される通知をタップしています。
通知をタップせずにSySightの画面を表示させる方法があれは知りたいです。
A1.
削除allkillを実行した場合は、確実にSySightが終了します。
その場合のredirectはSySight起動時のリダイレクト先を指定するもので、この場合は指定する意味がありません。
A2.
ホーム画面からURLスキームを実行することは出来ないので、正常な仕様です。
通知を表示するのは、その対策でもあります。
解決しました。ご回答ありがとうございました。
削除使い方は大丈夫なんですが
返信削除設定にあるバックグラウンドで監視とは何をしているのでしょうか?
基本offで大丈夫なのかな・・・?
通知機能のページに詳細がありますので、ご覧下さい。
削除バックグラウンド監視を有効にすることで、通知機能をご利用頂くことができます。
質問です。freeを実行した後に自動で他のアプリを起動するには
返信削除sysight://free?open?redirect=fb119355104914816:
これでいいのでしょうか?
sysight://free?redirect=fb119355104914816:
削除で良いです。
ありがとうございます。
削除何回か試してみましたが、失敗するときがあります。
これはどうしようもないですかね?
失敗というのは、アプリがクラッシュするということですか?
削除その場合は、再度SySightを起動した場合にリダイレクトする仕様となっております。
そうですね、freeの動作をしてる段階で強制終了したり、それが終わってもアプリの起動がしなかったりですね。
削除多分使い方を動画にして解説してみてはどうでしょうか?
返信削除あなたがyoutubeに作ってここにリンク貼ってもよいのかも!
削除登録したブックマークをアイコンにしてホーム画面に置くことは出来ないですか?
返信削除簡単操作で重いiPhoneを軽くしたいのですがこのアプリでは無理なんですか?
返信削除