Awesome
IntegrationPreference
This library is especially for extension apps developers. Some applications like (Muzei, Series Guide) has extension capabilities. You can use their SDK to integrate your app into theirs. Or your app may need another app to be installed on the device.
Those can be rare cases but this library is just for you.
You put IntegrationPreference
into your preference XML file and it checks the given Intent
inside its XML tags.
If it cannot find the application to handle that Intent
, it opens Play Store on click to install the
required application.
Usage
Detailed usage can be found in the sample project and in the following applications.
- https://github.com/tasomaniac/MuzeiEarthView
- https://github.com/tasomaniac/MuzeiTVShows
- https://github.com/tasomaniac/hackdash
- https://github.com/tasomaniac/MuzeiComicsCovers
For the basic usage, you need to add IntegrationPreference
into your preference xml like below.
<com.tasomaniac.android.widget.IntegrationPreference
android:title="Preference Title"
android:key="pref_key"
android:summaryOff="Description to shown when the Intent is found."
android:summaryOn="Click here to install the required app.">
<intent
android:targetClass="com.google.android.apps.muzei.settings.SettingsActivity"
android:targetPackage="net.nurik.roman.muzei"/>
</com.tasomaniac.android.widget.IntegrationPreference>
And in your PreferenceFragment
or PreferenceActivity
you can add these to functions into you onResume
and
onPause
methods to enable automatic detecting of application installs.
@Override
protected void onResume() {
super.onResume();
integrationPreference.resume();
}
@Override
protected void onPause() {
super.onPause();
integrationPreference.pause();
}
For other configurations and manual Intent handling, please refer to the sample project.
Download
Dependency for native PreferenceActivity
and PreferenceFragment
compile 'com.tasomaniac:integrationpreference:0.2'
Dependency for support versions.
compile 'com.tasomaniac:integrationpreference-support:0.2'
Snapshots of the development version are available in Sonatype's snapshots
repository.
License
Copyright (C) 2015 Said Tahsin Dane
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.